与捕获组的Javascript全球匹配

这个问题在这里已经有了答案:

  • 如何访问JavaScript正则表达式中的匹配组? 14个答案

  • 根据MDN文档:

    如果正则表达式不包含g标志,则返回与RegExp.exec()相同的结果。 返回的数组有一个额外的输入属性,其中包含被解析的原始字符串。 此外,它还有一个索引属性,它表示字符串中匹配的从零开始的索引。

    如果正则表达式包含g标志,则该方法将返回一个包含所有匹配的子字符串而非匹配对象的数组。 被捕获的组不被返回。 如果没有匹配,则该方法返回null。


    如果您想获取捕获组并且设置了全局标志,则需要使用RegExp.exec()。

    var myRe = /(d)(d)/g;
    var str = '123';
    var myArray;
    while (myArray = myRe.exec(str)) {
      console.log(myArray);
    }
    链接地址: http://www.djcxy.com/p/76791.html

    上一篇: Javascript global match with capturing groups

    下一篇: Getting separate parts of a regex in javascript match