使用Javascript替换正则表达式将$转换为\\ $

时间:2012-01-19 01:55:15

标签: javascript

我有一串"aa$bb$cc";我想将其替换为"aa\$bb\$cc"
我试过这个:

var str = "aa$bb$cc"
str.replace(/$/g, "\\$"); 

但是出局是"aa$bb$cc\$"

如何在所有浏览器中替换它并获得相同的结果(正确... )?

4 个答案:

答案 0 :(得分:3)

你的正则表达式也应该逃脱$

/\$/g

这是因为它是一个特殊字符,表示字符串的结尾(如果使用m修饰符,则为行尾)

答案 1 :(得分:2)

str = str.replace(/\$/g, "\\$");
正则表达式中的

$表示“行尾”。因此,它用\$替换行的所有末尾。转义正则表达式中的$即可。

答案 2 :(得分:1)

$在正则表达式中具有特殊含义,它与字符串的结尾相符。 ^锚定到字符串的开头。尝试转义它/\$/g

你基本上是在说“用'\''替换行尾。

答案 3 :(得分:0)

试试这个:"aa$bb$cc".replace(/\$/g, "\\$");