jscript中正则表达式用法详解

jscript中正则表达式用法详解

ID:16315088

大小:33.50 KB

页数:5页

时间:2018-08-09

jscript中正则表达式用法详解_第1页
jscript中正则表达式用法详解_第2页
jscript中正则表达式用法详解_第3页
jscript中正则表达式用法详解_第4页
jscript中正则表达式用法详解_第5页
资源描述:

《jscript中正则表达式用法详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、JScript中正则表达式用法详解首相讲讲JScript的正则表达式对象RegExp。   JScript中提供正则表达式操作的类名为RegExp,可以用两种方式实例化RegExp类型的对象。     方法一,构造函数实例化:varmyRegex=newRegExp("w+","igm"); //w+为实际正则表达式,注意第一个为转义之用,igm分别表示忽略大小写,全局搜索,多行搜索,这个后面会解释    方法二,直接赋值法:varmyRegex=/w+/igm; //效果与上一个语句一样,只是这里不需要用转移字符,原正则表达式是什么样子就是什么样子,igm就和前面例子的igm作用一样  

2、 具体用什么方式看大家喜好了,个人觉得第二种方式写的正则比较好读些,RegexBuddy帮助文档也是推荐第二种方式。  RegExp对象包含以下一些操作:   exec(stringstr):执行正则表达式匹配,并返回匹配结果,根据MSDN给出的例子运行结果看,exec每次执行都是从上次直接的匹配结束位置开始,并且返回的值似乎是RerExp对象,而RegexBuddy给出的解释是返回一个数组,但是没有给出详细例子,我觉得还是根据试验结果为依据比较可靠。     compile(stringregex,stringflags):预编译正则表达式以使其运行更快,经过测试的确预先编译后效率有明显提

3、升。regex参数为正则表达式,flags可以为以下3个值的组合:g–全局搜索,我的试验结果是不加g标志就只能匹配第一个符合条件的字符串i–忽略大小写m–多行搜索,似乎默认已经是多行搜索了     test(stringstr):如果str匹配正则表达式返回true,否则返回false,这个类似string对象的match方法     RegExp对象包含以下一些属性:   index:字符串中第一个匹配表达式的位置,初始为-1     input:正则表达式的匹配目标,注意是只读的     lastIndex:下一个匹配表达式的位置,原话是(Returnsthecharacterposit

4、ionwherethenextmatchbeginsinasearchedstring.)也不知道有没有翻译错,这个属性我没有用到。     lastMatch:最后一个匹配表达式的字符串     lastParen:最后一个匹配的子匹配串,比如正则表达式里有多个以()分组的匹配项,lastParen表示最后一组所匹配的结果   leftContext:从目标字符串的开头到lastmatch的起始位置的所有字符。     rightContext:从lastmatch的结束位置到整个目标字符串的结束位置的所有字符。     $9:表示第n组匹配的结果,这个在正则表达式里有多个以()分组时有用

5、$1…   接下来讲讲,JScript中String对象与正则表达式有关的操作:   match(stringregex):接受一个正则表达式,并返回该字符串是否与这个表达式匹配。   replace(srtingregex,stringstr):将与正则表达式匹配的子字符串替换为str,这个函数看似简单,不过还隐藏着更高级用法哦,请看以下例子。   例子1:varstr1="A:MynameisPeter!nB:HiPeter!";str1=str1.replace(/Peter/g,"Jack");alert(str1);     这个例子很简单就是把字符串替换了,这则表达式的威力当然不

6、只于此,如果你用的熟练,还能用它完成很多以往需要大量代码完成的工作。比如在代码关键字前后加上由于高亮显示的HTML标签。从前面例子看来似乎replace只能把匹配的文本替换成新的文本啊,怎么利用它在关键字前后插入标签呢?返过来想象,如果在替换时能利用匹配结果,那么事情不就好办了,只要将关键字替换为:标签头+关键字+标签尾不就行了。   可是要如何在replace中使用正则表达式匹配的结果呢?   这时候我们就需要用到“匹配变量”了,匹配变量用于表示正则匹配的结果,以下是匹配变量的说明:$   &--表示全部匹配组匹配的结果,最后再啰嗦一次,匹配组就是正则表达式的()分组$字符,所以需要转义$

7、字符,因为匹配变量用掉了$--表示$   $9,表示第n组匹配的结果$1…$n--类似前面的   $nn--很简单就是第nn组匹配的结果      $`--就是前面提到过的leftContext,比如abcdefg被匹配出了d那么abc就是它的leftContext了$' --   和上面符合很接近不要看错了!,这个就是rightContext了,举一反三,efg就是上面例子的rightContext了  那

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。