Javascript \\ b字符串转义问题

时间:2014-05-30 19:07:07

标签: javascript string

对不起这个可能很愚蠢的问题,但我正在尝试以“\ begin”开头的字符串(我正在构建一个LaTeX文档)。我无法弄清楚如何正确解析它。只需将\替换为\\"\end"就行了 - 我只需输入"\\end"即可。问题似乎是\b用于正则表达式。我认为"\\" + "begin"可能会起作用,但这似乎会产生相同的行为。考虑到我可能会碰到很多这种情况,一般来说解决这个问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

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

'\\'评估为包含\

的字符串

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

/\\/评估为匹配\

的正则表达式

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

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

要使正则表达式与\begin匹配,您只需要使用begin为正则表达式后缀:

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

答案 1 :(得分:0)

使用另一个\转发\对我很有用:

Console

JSFiddle