我正在尝试弄清楚以下正则表达式以及为什么它会给出我得到的结果。
我有以下 javascript:
let result = '7979797'.replace(/797/g,'77');
我本来期望结果的值为 7777,但它的值为 77977。
我希望有人能解释为什么我得到 77977 的值,以及我需要更改正则表达式以将所有具有模式 797 的字符串替换为 77。
最佳答案
当正则表达式用 77
替换第一个 797
时,它不会重新扫描它替换的 Material (77
),所以它接下来会看到 9
,然后是 797
,从而得出您得到的结果。
关于javascript - 需要理解为什么正则表达式没有替换所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34554359/