Javascript中使用exec进行正则表达式全局匹配时需要注意什么
来源:爱站网时间:2021-01-21编辑:网友分享
Javascript中使用exec进行正则表达式全局匹配时需要注意什么?这个问题难倒了很多用户们,那么下面我们就去看看Javascript中使用exec进行正则表达式全局匹配时的注意事项吧。
Javascript中使用exec进行正则表达式全局匹配时需要注意什么?这个问题难倒了很多用户们,那么下面我们就去看看Javascript中使用exec进行正则表达式全局匹配时的注意事项吧。
先看一下常见的用法:
接下来看一下全局模式下的诡异事件:
第二个语句并没有返回期望的结果,而是返回了 null ,这是因为:
在全局模式下,当 exec() 找到了与表达式相匹配的文本时,在匹配后,它将把正则表达式对象的 lastIndex 属性设置为匹配文本的最后一个字符的下一个位置。这就是说,您可以通过反复调用 exec() 方法来遍历字符串中的所有匹配文本。当 exec() 再也找不到匹配的文本时,它将返回 null,并把 lastIndex 属性重置为 0。
下面是正常的全局模式下的匹配方式:
从上面的代码我们可以看到,之所以出现第二段代码中的问题,影响因素是 lastIndex ,所以我们可以通过将 lastIndex 手动置 0 的方式来解决这个问题。
在全局模式下,如果在一个字符串中完成了一次模式匹配之后要开始检索新的字符串,就必须手动地把 lastIndex 属性重置为 0。
Javascript中使用exec进行正则表达式全局匹配时需要注意什么?其实Javascript在使用exec进行正则表达式全局匹配时,有一个非常容易犯的错误,所以我们要时刻注意哦。
上一篇:学习正则表达式
下一篇:讲解js正则表达式exec方法