javascript正则表达式容易被忽略的小问题整理

来源:www.13sc.com | 游客上传 | 187 次浏览 | 0 条评论

搜索: javascript 正则表达式 

小问题:lastIndex只对exec()和test()方法起作用,string.match(regexp)是不会影响regexp这个正则的lastIndex属性的,具体祥看本文

一、中括号[]里面的特殊字符是不用转义的,例如[/]、[.]、[*]、[?]、[+]都是可以直接匹配对应的字符 . *?+。下面是测试结果:

所以,/[d.]/这个正则表达式实际上是匹配数字字符或者字符".",作用等同于/[d.]/

二、match()和exec()的区别

二者的区别主要在于正则表达式在设置了全局标识符g的情况。

如果没有设置全局标识符g,那么调用string.match(regexp)的结果和调用regexp.exec(string)的结果是相同的,

但在设置了全局标识符g时,string.match(regexp)会把所有的匹配都放入结果数组中,regexp.exec(string)的结果则只给出第一个成功的匹配。

而用regexp.lastIndex属性来记录下一次匹配开始的位置。测试如下:

PS:另外要注意的是lastIndex只对exec()和test()方法起作用,string.match(regexp)是不会影响regexp这个正则的lastIndex属性的。

标签: javascript 正则表达式

最热-正则表达式

常用的匹配正则表达式和实例

小议正则表达式效率 贪婪、非贪婪与回溯

正则表达式的优化全面详解( 三江小渡)

DW 查找某字符串前的所有字符的正则表达式

正则表达式与数学(方程式、线性方程)

PHP preg_match的匹配多国语言的技巧

js正则表达式之search方法讲解

完美替换html代码

正则表达式不包含align该怎么写

PHP中正则表达式对UNICODE字符码的匹配方法

JScript 和 VBScript 正则表达式第1/2页

正则表达式的应用

Copyright 2009-2013 13sc.com All Rights Reserved.