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

标签 javascript regex node.js replace latex

我正在使用 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/

相关文章:

javascript - Node.js 多页面爬虫

javascript - Google Maps API - 调整大小会产生空白

javascript - 提交按钮无法使用 JavaScript 验证表单

javascript - 套接字不适用于使用 ws 的 React native 和 Node.js 服务器

node.js - 响应错误: Forbidden

javascript - 在 node-mysql 中返回 graphql 解析器函数的 mysql 查询

javascript - 如何在动态创建的 jQuery UI 对话框中使用日期选择器?

ruby-on-rails - Rails 中某些复合术语的复数规则

r - 如果它是 "quoted",我如何拆分字符串并忽略分隔符

regex - OWASP Zap 在代理中排除除给定 URL 之外的所有内容