Javascript 将正则表达式替换匹配传递给函数

Javascript 将正则表达式替换匹配传递给函数,javascript,Javascript,我想添加一个span标记,该标记带有一个类,该类围绕一个与正则表达式匹配的字符串中的内容使用css进行样式设置,该字符串位于一组可接受的值中 例如,对于regex/fo./我想将barfoobarfoafoc转换为 bar<span class = "stylename">foo</span>bar<span class = "stylename">foa</span>foc 但是传递给replace的参数只是“$&”,而不是匹配的字符串。这也许

我想添加一个span标记,该标记带有一个类,该类围绕一个与正则表达式匹配的字符串中的内容使用css进行样式设置,该字符串位于一组可接受的值中

例如,对于regex
/fo./
我想将
barfoobarfoafoc
转换为

bar<span class = "stylename">foo</span>bar<span class = "stylename">foa</span>foc

但是传递给replace的参数只是“$&”,而不是匹配的字符串。这也许不应该令人惊讶。有没有办法使用replace函数来实现这一点?或者我必须手动获取每个regex返回值并从匹配开始替换子字符串,以及所有这些吗?我希望在替换过程中有一种方法可以做到这一点,这样代码就可以清楚地知道它在做什么,并且我不必处理子字符串的计算。

看一下和最后一个示例。这看起来很有希望,谢谢@费利克斯克林是的,这很有效。只需删除6个字符,
(“$&”)
,就可以正常工作了。谢谢如果你愿意,请随意回答,我会接受的。
output = output.replace(/fo./g,isAcceptedValue("$&"));