> "a a a a aa".replace(/ /, "b")
'aba a a aa'
> "a a a a aa".replace(/ /g, "b")
'ababababaa'
您能否解释一下为什么添加
g
会导致 replace
具有 replaceAll
的行为?
“g”标志代表“全局”,用于指定正则表达式应执行全局搜索。这意味着正则表达式引擎将搜索输入字符串中出现的所有模式,而不是在第一次匹配后停止。默认情况下,如果没有“g”标志,正则表达式引擎将仅返回找到的第一个匹配项。
这就是为什么在你的第一个例子中它只替换了第一次出现,而在第二个例子中替换了所有出现