我正在使用 Node.js 创建一个 latex 模板系统。作为这个系统的一部分,我需要通过在它们前面加上反斜杠来转义任何具有特殊含义的字符。
我读到双反斜杠用于插入文字反斜杠:
> var input = "hello & 100%"
> input.replace(/([&%$#_{}])/g, "\\$1")
'hello \\& 100\\%'
没有。我还读到因为它在字符串中,所以我需要对反斜杠进行两次转义:
> input.replace(/([&%$#_{}])/g, "\\\\$1")
'hello \\\\& 100\\\\%'
没有。并且只使用一个反斜杠也不行:
> input.replace(/([&%$#_{}])/g, "\$1")
'hello & 100%'
那么我应该如何使用 replace()
插入一个反斜杠?
最佳答案
实际上,第一种方法是正确的并且有效。两个反斜杠确实被用来组成一个反斜杠。
console.log("hello & 100%".replace(/([&%$#_{}])/g, "\\$1")); // "hello \& 100\%"
如果 console.log
给您带来了一些不应该的麻烦,请尝试 alert
。
您还需要使用您没有使用的返回值。
关于javascript - 用javascript中的单个反斜杠替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27275214/