javascript中多个匹配的正则表达式组

use*_*375 7 javascript regex

我正在使用正则表达式: pattern=/([a-zA-Z0-9_\.].*?)=(.*?);/g;在我使用的文本中有多个匹配项.现在我想要"="之后的内容.我使用RegExp.$2但它只给出一个值.请帮助我在所有可用的匹配项中获得"="之后的值.

mat*_*fee 10

你必须在while循环中迭代匹配:

var match = null;
while (match = pattern.exec(script_txt)) {
    // Do something with match[2]
}
Run Code Online (Sandbox Code Playgroud)

  • 从[`exec`文档](http://msdn.microsoft.com/en-us/library/windows/apps/z908hy33(v = vs.94).aspx):如果`exec`方法没有找到一个匹配,它返回NULL(这就是为什么它可以放入`while`循环).如果找到匹配项,则返回一个数组...并修改全局`RegExp`对象.**如果为正则表达式设置了全局标志,`exec`将搜索从`lastIndex`**值指示的位置开始的字符串.如果未设置全局标志,则`exec` ...从字符串的开头搜索. (2认同)
  • 因此,总结一下`exec`会记住它找到最后一个匹配的位置并继续从那里搜索(如果正则表达式具有`g`开关). (2认同)