我正在使用Node.js创建一个乳胶模板系统。作为这个系统的一部分,我需要通过在反斜杠前面添加前缀来转义具有特殊含义的任何字符。
我读过双反斜杠用于插入文字反斜杠:
> var input = "hello & 100%"
> input.replace(/([&%$#_{}])/g, "\\$1")
'hello \\& 100\\%'
不。我也读过因为它在一个字符串里面,我需要双重反斜杠:
> input.replace(/([&%$#_{}])/g, "\\\\$1")
'hello \\\\& 100\\\\%'
不。只使用一个反斜杠也不会这样做:
> input.replace(/([&%$#_{}])/g, "\$1")
'hello & 100%'
那么我应该如何使用replace()
插入一个反斜杠?
答案 0 :(得分:3)
实际上,第一种方法是正确的并且有效。两个反斜杠确实用于制作单个反斜杠。
console.log("hello & 100%".replace(/([&%$#_{}])/g, "\\$1")); // "hello \& 100\%"
如果console.log
给您带来了一些麻烦,那就不应该尝试alert
。
您还需要使用您不会做的返回值。