javascript正则表达式中易被忽略的小问题
来源:爱站网时间:2020-12-01编辑:网友分享
我们在JavaScript中使用正则表达式需要注意的事项有很多,因为稍不注意的话就会导致编程乱码,那么下面我们就去看看javascript正则表达式中易被忽略的小问题。
我们在JavaScript中使用正则表达式需要注意的事项有很多,因为稍不注意的话就会导致编程乱码,那么下面我们就去看看javascript正则表达式中易被忽略的小问题。
一、中括号[]里面的特殊字符是不用转义的,例如[/]、[.]、[*]、[?]、[+]都是可以直接匹配对应的字符\ . *?+。下面是测试结果:
所以,/[\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正则表达式中易被忽略的小问题,本文是值得大家学习的,在实际工作与开发中,将工作中的点滴记录下来,回首这些过往,你也会收获很多。
上一篇:模式修正符的使用介绍