Javascript RegEx 使用全局修饰符产生不寻常的结果

标签 javascript regex

我能够解决这个问题,因为事实证明我不需要/g。但我想知道是否有人能够解释为什么会发生以下行为。

x = RegExp( "w", "gi" )
x.test( "Women" )
    = true
x.test( "Women" )
    = false

在计算表达式时,它会继续在 true 和 false 之间交替。这是一个问题,因为我在字符串列表上使用相同的编译正则表达式,导致一些字符串在本应为 true 时评估为 false。

最佳答案

您不应该在用于测试的正则表达式中使用全局修饰符,因为它会保留上次搜索的索引并从那里开始下一个测试。

我问过same question .

关于Javascript RegEx 使用全局修饰符产生不寻常的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15824111/

相关文章:

regex - 根据单词是否大写拆分 Pandas 数据框列

javascript - IE9 悬停错误 - 移动一行后悬停状态保持不变

javascript - 在此应用程序上运行 SortSite 时,此 IMG 链接到的文件的图像 MIME 类型错误?

java - 当路径和文件名都包含通配符时列出与正则表达式匹配的文件路径

java - 正则表达式在Java中查找类似Excel的单元格地址

php - preg_match 检查字符串是否包含在双引号或单引号中

python - 在正则表达式 Python 中捕获 $

javascript - CSS 转换立即进入最终状态

javascript - Thymeleaf 和 DatePicker : set min Date

javascript - react this.setState 已安装或正在安装时的警告