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属性。