用javascript中的单个反斜杠替换?

Jam*_*mie 4 javascript regex latex replace node.js

我正在使用 Node.js 创建一个乳胶模板系统。作为这个系统的一部分,我需要通过在它们前面加上反斜杠来转义任何具有特殊含义的字符。

我读过双反斜杠用于插入文字反斜杠:

> var input = "hello & 100%"
> input.replace(/([&%$#_{}])/g, "\\$1")
'hello \\& 100\\%'
Run Code Online (Sandbox Code Playgroud)

不。我也读过,因为它在一个字符串中,我需要对反斜杠进行双重转义:

> input.replace(/([&%$#_{}])/g, "\\\\$1")
'hello \\\\& 100\\\\%'
Run Code Online (Sandbox Code Playgroud)

不。并且只使用一个反斜杠也不行:

> input.replace(/([&%$#_{}])/g, "\$1")
'hello & 100%'
Run Code Online (Sandbox Code Playgroud)

那么我应该如何使用 插入单个反斜杠replace()

Ami*_*oki 5

实际上,第一种方法是正确且有效的。两个反斜杠确实用于制作单个反斜杠。

console.log("hello & 100%".replace(/([&%$#_{}])/g, "\\$1")); // "hello \& 100\%"
Run Code Online (Sandbox Code Playgroud)

如果console.log给您带来了一些不应该的麻烦,请尝试alert. 您还需要使用您没有做的返回值。