Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
奇怪的Javascript正则表达式替换反向引用行为_Javascript_Regex - Fatal编程技术网

奇怪的Javascript正则表达式替换反向引用行为

奇怪的Javascript正则表达式替换反向引用行为,javascript,regex,Javascript,Regex,为什么下面的js表达式: "test1 foo bar test2".replace(/foo.bar/, "$'") 结果是以下字符串 "test1 test2 test2" 替换字符串中的$”是否是某种控制代码,用于包含匹配后的所有内容 这种行为在一天的大部分时间里都在折磨我。有人能解释一下吗 非常感谢 ps-在我测试过的所有浏览器中都是这样的在regex replace参数中,您需要转义$: "test1 foo bar test2".replace(/foo.bar/, "$$'"

为什么下面的js表达式:

"test1 foo bar test2".replace(/foo.bar/, "$'")
结果是以下字符串

"test1  test2 test2"
替换字符串中的
$”
是否是某种控制代码,用于包含匹配后的所有内容

这种行为在一天的大部分时间里都在折磨我。有人能解释一下吗

非常感谢


ps-在我测试过的所有浏览器中都是这样的

在regex replace参数中,您需要转义
$

"test1 foo bar test2".replace(/foo.bar/, "$$'")
$”
插入匹配子字符串后面的字符串部分。

请参见。

右侧,酷。我知道你需要避开美元符号(比如0美元或1美元),但我不知道美元是用来做什么的。谢谢你的链接