1

鉴于:

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");

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

4

1 回答 1

5

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

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

pattern.replace(/\{0\}/g,"$$0.00");
于 2013-09-11T20:23:18.310 回答