当替换具有与replacesAll相同的行为时

问题描述 投票:0回答:1
> "a a a a aa".replace(/ /, "b")
'aba a a aa'
> "a a a a aa".replace(/ /g, "b")
'ababababaa'

您能否解释一下为什么添加

g
会导致
replace
具有
replaceAll
的行为?

javascript node.js regex replace replaceall
1个回答
0
投票

“g”标志代表“全局”,用于指定正则表达式应执行全局搜索。这意味着正则表达式引擎将搜索输入字符串中出现的所有模式,而不是在第一次匹配后停止。默认情况下,如果没有“g”标志,正则表达式引擎将仅返回找到的第一个匹配项。

这就是为什么在你的第一个例子中它只替换了第一次出现,而在第二个例子中替换了所有出现

© www.soinside.com 2019 - 2024. All rights reserved.