我有以下脚本,它将用 \"
和 \a
替换 "
和 a
字符。
'"replace'.replace(/"|a/g, "\\$&");
结果:\"repl\ace
现在我需要的是将 \
(转义字符)替换为 \\
。但在 Chrome 控制台中尝试以下代码失败,并出现异常 SyntaxError:无效的正则表达式:缺少/
。
'"re\place'.replace(/"|a|\/g, "\\$&");
替换正则表达式(Javascript)中的转义字符的可能解决方法是什么?
更新
简化 pblm,为什么 'rep\lace'.toString() 结果是 'replace' 而不是 'rep\lace'?
关于同样的问题,我已经尝试过这些代码,
"re\nlace".toString();
结果re
换行lace
"re\xlace".toString();
结果SyntaxError:意外的标记非法
。可能是 b,因为\x 不可执行。
我认为 Javascript 正在执行字符串值。但为了什么?
最佳答案
'"replace'.replace(/"|a|\\/g, "\\$&");
关于javascript - 如何处理正则表达式中的\(转义)字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12550686/