即使没有代码更改,正则表达式也会替换#test的值

时间:2015-02-04 21:51:12

标签: javascript regex

我对此深感困惑和困惑。解释的最佳方式是使用以下屏幕截图。

我像这样实例化正则表达式对象:

var PEPPER_STANDARD_DATE_REGEX = /\d{1,2}\/\d{1,2}\/\d{4}, \d{1,2}:\d{1,2} (AM|PM) [A-Z]{1,5}/g

另请参阅:https://www.regex101.com/r/jT2tG4/1

extremely odd behavior

1 个答案:

答案 0 :(得分:3)

这不是错误,而是g全球旗帜的已知行为,可记住多个testexec来电之间的RegExp.lastIndex位置。

要解决此问题,只需从正则表达式中删除g标记,即

/\d{1,2}\/\d{1,2}\/\d{4}, \d{1,2}:\d{1,2} (AM|PM) [A-Z]{1,5}/