问答详情
源自:2-12 字符串对象方法

关于string.match进行正则匹配有个疑问

console.log('$1a2b3c4d5e'.match(/\d\w\d/g))
['1a2','3c4']

为什么没有匹配2b3,4d5呢


string.replace()也是这样。所以我觉得应该是前面的匹配成功后对剩下的进行匹配

提问者:Mr_bigshot 2016-09-12 17:21

个回答

  • qq_风起叶落_0
    2016-09-13 15:01:09
    已采纳

    应该与表达式的lastIndex属性有关,全局调用的话,从匹配内容的最后一个字符的下一个位置开始匹配

  • 慕容8334558
    2021-02-16 17:23:47

    一个数字和前面组了,还跟后面组吗?匹配到也没有意义啊,实际用也只需要用断言少捕获一个数字就可以了,要么给前面要么给后面,不可能这个数要处理两次吧?

  • 慕容8334558
    2021-02-16 17:23:28

    一个数字和前面组了,还跟后面组吗?匹配到也没有意义啊,实际用也只需要用断言少捕获一个数字就可以了,要么给前面要么给后面,不可能这个数要处理两次吧?

  • 啊啊啊啊123
    2016-09-17 15:33:09

    就好比找到一个符合的就咔嚓减掉 从断的地方接着向后找