鍍金池/ 問答/網(wǎng)絡安全  HTML/ javascript正則表達式問題

javascript正則表達式問題

為什么'aab'.replace(/^a(?<=a)b{0,3}/g, 'c')
這個正則替換的結(jié)果是"cab"?。?br>我的理解是:
^匹配字符串的開始位置,與其后的a共同匹配'位于開始位置的a';
后面的(?<=a)b{0,3}匹配前面是a的b,那么結(jié)果應該匹配'aab'中開始的'a'和最后一個'b'才對,為何只會匹配最開始的a呢?求解惑。

回答
編輯回答
女流氓

js不支持positive lookbehind,覺得這樣的結(jié)果是因為正則表達式對象無視了不認識的(?<=)以及之后的所有表達式,所以只匹配了一個a

2017年5月22日 12:21