码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式 调用test方法时 -g全局匹配出现两次结果不同的问题

时间:2021-04-16 12:17:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:png   红宝书   二次   reg   奇数   mamicode   图片   lazy   image   

最近使用字面量正则表达式发现偶数次匹配结果出错,而奇数次匹配结果正确,如下图

技术图片

当去掉全局匹配时结果正确

技术图片

 

 

 

翻了下红宝书的说明,原文如下:

技术图片

 

 技术图片

 

 大意是说用字面量创建的正则表达式是全局共用RegExp对象,第一次匹配是保证正确,而隔一次调用时会从它的第3个索引处开始找,也就是上一次的匹配结果里面去找,因此会找不到;由于第二次已经把字符串的尾端找过了,下一次又会从头开始找,所以第3次又正确了。

总结:以后全局匹配时尽量用实例对象来调用,确保每次匹配时都是从头开始,以避免上述错误。

 

正则表达式 调用test方法时 -g全局匹配出现两次结果不同的问题

标签:png   红宝书   二次   reg   奇数   mamicode   图片   lazy   image   

原文地址:https://www.cnblogs.com/codingsea/p/14665198.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!