javascript正则表达式问题

为什么'aab'.replace(/^a(?<=a)b{0,3}/g, 'c')
这个正则替换的结果是"cab"啊?
我的理解是:
^匹配字符串的开始位置,与其后的a共同匹配'位于开始位置的a';
后面的(?<=a)b{0,3}匹配前面是a的b,那么结果应该匹配'aab'中开始的'a'和最后一个'b'才对,为何只会匹配最开始的a呢?求解惑。



临摹微笑
浏览 338回答 1
1回答

慕村225694

js不支持positive lookbehind,觉得这样的结果是因为正则表达式对象无视了不认识的(?<=)以及之后的所有表达式,所以只匹配了一个a
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript