为什么以下js表达式:
"test1 foo bar test2".replace(/foo.bar/, "$'")
产生以下字符串?
"test1 test2 test2"
是替换字符串中的$'
某种控制代码,用于在匹配后包含所有 ???
这种行为在一天的大部分时间都与我紧张。任何人都能解释一下吗?
非常感谢
ps-我测试的所有浏览器都是这种情况
答案 0 :(得分:6)
在正则表达式替换参数中,您需要转义$
:
"test1 foo bar test2".replace(/foo.bar/, "$$'")
$'
插入匹配子字符串后面的字符串部分
请参阅documentation。