鉴于:
var pattern = "{0}";
为什么这不起作用:
pattern.replace(/\{0\}/g, "$0.00");
然而:
pattern.replace("{0}", "$0.00");
第一个结果为:“{0} .00” 第二个结果为“$ 0.00”
同时以下工作按预期工作(产生“$ 1.00”):
pattern.replace(/\{0\}/g, "$1.00");
任何提示或建议都会非常感激。
答案 0 :(得分:4)
在带有正则表达式的替换字符串中,$0
(和$&
)表示整个匹配。 $1
代表第一个子模式,依此类推。
相应的解决方法是使用$$
,因为它将替换为文字$
。
pattern.replace(/\{0\}/g,"$$0.00");