Javascript\\b字符串转义问题

标签 javascript string

很抱歉这个可能很愚蠢的问题,但我正在尝试创建一个以“\begin”开头的字符串(我正在构建一个 LaTeX 文档)。我不知道如何让它正确解析。只需将 \ 替换为 \\"\end" 中就可以正常工作 - 我只需输入 "\\end".问题似乎是在正则表达式中使用 \b 。我认为 "\\"+ "begin" 可能有效,但这似乎给出了相同的行为。考虑到我可能会遇到很多这样的情况,一般来说,解决这个问题的最佳方法是什么?

最佳答案

\ 是 JavaScript 字符串中的转义字符。如果您希望字符串包含 \ 字符,则必须使用额外的 \ 字符:

'\\' 计算结果为包含 \ 的字符串。

\ 是 JavaScript 正则表达式中的转义字符。如果您希望正则表达式包含 \ 字符,则必须使用额外的 \ 字符:

/\\/ 计算结果为与 \

匹配的正则表达式

因此,使用字符串构建的正则表达式需要对 \ 字符进行两次转义,一次用于字符串,一次用于正则表达式:

new RegExp('\\\\') 计算结果为包含 \\ 的字符串,该字符串计算结果为与 \ 匹配的正则表达式>.

要使正则表达式匹配 \begin,您只需在正则表达式后面添加 begin 后缀:

/\\begin/               //regex literal
new RegExp('\\\\begin') //regex constructor

关于Javascript\\b字符串转义问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23961789/

相关文章:

string - Borland C++ Builder 6 和字符串连接

javascript - 如何自动存储多个输入

c# - collection/string.Contains vs collection/string.IndexOf

javascript - NodeJS 对象要求

javascript - 从另一个目录下载文件 AngularJS

c - strcmp() 来自标准输入的字符串和来自文件的字符串

c++ - 未声明的正则表达式 (Dev C++)

Javascript - 排序字母数字组合

JavaScript 多页表单 onbeforeunload 问题

javascript - 如何获取在ExtJs上触发的最后一个事件