所以我有这个代码,我想用2个反斜杠替换所有单反斜杠,例如:\ ---> \\我尝试通过以下代码执行此操作:
string = string.replace(new RegExp("\\", "g"), "\\\\");
Run Code Online (Sandbox Code Playgroud)
但显然这不起作用,因为我收到以下错误:
未捕获的SyntaxError:无效的正则表达式://:\在模式结束时
知道为什么吗?
它\是正则表达式的转义字符,也适用于javascript字符串.这意味着javascript字符串"\\"将产生以下内容:\.但是那个\单词是正则表达式的转义字符,当正则表达式编译器找到它时,他认为:"很好,我必须逃避下一个字符"......但是,没有下一个字符.所以正确的正则表达式应该是\\.那个,当在javascript脚本中转义时"\\\\".
所以你应该使用:
string = string.replace(new RegExp("\\\\", "g"), "\\\\");
Run Code Online (Sandbox Code Playgroud)
作为替代方案,并避免javascript字符串转义,您可以使用文字正则表达式:
string = string.replace(/\\/g, "\\\\");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13568 次 |
| 最近记录: |