我正在使用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()插入一个反斜杠呢?
发布于 2014-12-03 15:21:26
实际上,第一种方法是正确的,而且行之有效。两个反斜杠确实用来做一个反斜杠。
console.log("hello & 100%".replace(/([&%$#_{}])/g, "\\$1")); // "hello \& 100\%"如果console.log给您带来了一些麻烦,而它不应该这样做,那就试试alert吧。此外,您还需要使用返回值,而不是这样做的。
https://stackoverflow.com/questions/27275214
复制相似问题