替换为值' $'不适用于JavaScript

时间:2016-01-15 09:25:10

标签: javascript regex

我试图替换一个字符串,前提是字符串正则表达式的值最后为$enter image description here

任何人都可以告诉我

中发生了什么

调查mdn string replace docs,我发现它是预期的。

但他应该怎样忽略这一点。 意味着我希望替换值在替换时应该得到,这里有$个。{/ p>

1 个答案:

答案 0 :(得分:4)

您需要在替换模式中加倍,因为$$实际上是$

.replace(/{{one}}/g, '000$$$$$$$$')

请参阅String#replace帮助:

  

模式插入
  $$插入"$"

如果用户在替换中键入$(即,如果是用户定义的),您可以将其加倍:

var ptrn = "{{one}}"; // regex pattern from user input
var repl = "000$$$$"; // replacement from user input
var rx = RegExp(ptrn, "g"); // building a dynamic regex
document.write("pp{{one}}pp".replace(rx, repl.replace(/\$/g, '$$$$')));
//                                            ^--- doubling $s-----^