字符串正则表达式 pattern.replace(/\{0\}/, "$0.00") 不起作用

Rya*_*ner 1 javascript regex replace

鉴于:

var pattern = "{0}";
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用:

pattern.replace(/\{0\}/g, "$0.00");
Run Code Online (Sandbox Code Playgroud)

但是:

pattern.replace("{0}", "$0.00");
Run Code Online (Sandbox Code Playgroud)

第一个结果是:“{0}.00” 第二个结果是“$0.00”

同时以下确实按预期工作(产生“$ 1.00”):

pattern.replace(/\{0\}/g, "$1.00");
Run Code Online (Sandbox Code Playgroud)

任何提示或建议将不胜感激。

Nie*_*sol 5

在带有正则表达式的替换字符串中,$0(和$&) 表示整个匹配项。$1代表第一个子模式,依此类推。

适当的解决方法是使用$$,因为这将被替换为文字$。

pattern.replace(/\{0\}/g,"$$0.00");
Run Code Online (Sandbox Code Playgroud)