Javascript 用另一个字符替换正则表达式匹配的每个字符

Javascript 用另一个字符替换正则表达式匹配的每个字符,javascript,Javascript,如果我有这个字符串:foo-bar-baz-qux-bar-qux-quz,我想用X(foo-XXX-baz-qux-quz)替换bar的每个字符 也许可以这样使用.replace()?显然,一个“foo-bar-baz-qux-bar-qux-quz”。replace(/bar/g,“X”)将返回foo-X-baz-qux-quz,而不是foo-XXX-baz-qux-qux-quz 这只是一个例子,但我需要使用正则表达式。我不能这样做: “foo-bar-baz-qux-bar-qux-qu

如果我有这个字符串:
foo-bar-baz-qux-bar-qux-quz
,我想用
X
foo-XXX-baz-qux-quz
)替换
bar
的每个字符

也许可以这样使用
.replace()
?显然,一个
“foo-bar-baz-qux-bar-qux-quz”。replace(/bar/g,“X”)
将返回
foo-X-baz-qux-quz
,而不是
foo-XXX-baz-qux-qux-quz

这只是一个例子,但我需要使用正则表达式。我不能这样做:

“foo-bar-baz-qux-bar-qux-quz”
.拆分(“”)
.map(x=>x==“条”?“x”。重复(x.length):x)
.join(“”)

我需要正则表达式找到

您可以使用函数生成替换:

“foo-bar-baz-qux-bar-qux-quz”。替换(/bar/g,m=>“X”。重复(m.length))