小问题:lastIndex只对exec()和test()方法起作用
string
match(regexp)是不会影响regexp这个正则的lastIndex属性的
具体祥看本文
一中括号[]里面的特殊字符是不用转义的例如[/][]
[?][+]都是可以直接匹配对应的字符 *?+下面是测试结果所以/[d]/这个正则表达式实际上是匹配数字字符或者字符""作用等同于/[d]/
二match()和exec()的区别
二者的区别主要在于正则表达式在设置了全局标识符g的情况
如果没有设置全局标识符g那么调用stringmatch(regexp)的结果和调用regexpexec(string)的结果是相同的
但在设置了全局标识符g时stringmatch(regexp)会把所有的匹配都放入结果数组中regexpexec(string)的结果则只给出第一个成功的匹配
而用regexplastIndex属性来记录下一次匹配开始的位置测试如下
PS:另外要注意的是lastIndex只对exec()和test()方法起作用stringmatch(regexp)是不会影响regexp这个正则的lastIndex属性的