为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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


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

正在回答

4 回答

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

3 回复 有任何疑惑可以回复我~
#1

Mr_bigshot 提问者

非常感谢!
2016-09-14 回复 有任何疑惑可以回复我~
#2

偷吃萝卜的小白兔

有什么方法能把2b3,4d5 也能匹配出来吗
2020-11-03 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

justin-tldx

如果要把2b3,4d5 都匹配出来要用什么方法呢?
2017-01-11 回复 有任何疑惑可以回复我~
#2

正版Luking 回复 justin-tldx

/d/w
2017-03-08 回复 有任何疑惑可以回复我~
#3

偷吃萝卜的小白兔 回复 justin-tldx

我想不到什么方法能处理,您解决了吗,如何让2b3,4d5都匹配出来呢
2020-11-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信