宝哥软件园

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

编辑:宝哥软件园 来源:互联网 时间:2021-11-18

1.括号[]中的特殊字符不需要转义,如[/],[。], [*], [?]和[]是可以直接匹配相应字符的字符。*?下面是测试结果:

因此,正则表达式/[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,regexp是一个常规的lastIndex属性。

更多资讯
游戏推荐
更多+