获取"错误:无效的正则表达式"

Fer*_*rus 7 javascript regex

所以我有这个代码,我想用2个反斜杠替换所有单反斜杠,例如:\ ---> \\我尝试通过以下代码执行此操作:

string = string.replace(new RegExp("\\", "g"), "\\\\");
Run Code Online (Sandbox Code Playgroud)

但显然这不起作用,因为我收到以下错误:

未捕获的SyntaxError:无效的正则表达式://:\在模式结束时

知道为什么吗?

Cal*_*GSM 9

\是正则表达式的转义字符,也适用于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)