Javascript 正则表达式在浏览器中工作,但在NodeJs中不工作
在浏览器上Javascript 正则表达式在浏览器中工作,但在NodeJs中不工作,javascript,node.js,Javascript,Node.js,在浏览器上 "C:\\backup\\".replace(/\\\\/g, '\\') 返回: "C:\backup\" 但是在nodejsv12.13中 'C:\\backup\\' 它是否打算不以类似的方式工作? 如果是这样,如何将节点中的所有双反斜杠替换为单个反斜杠?在JavaScript字符串中,使用“\\”表示单个反斜杠。这是因为\“表示单个”字符,并且不终止字符串 您编写的正则表达式实际上没有任何效果,因为字符串不包含相邻的两个反斜杠 您可以(也应该)在任何需要反斜杠的位置/函
"C:\\backup\\".replace(/\\\\/g, '\\')
返回:
"C:\backup\"
但是在nodejsv12.13中
'C:\\backup\\'
它是否打算不以类似的方式工作?
如果是这样,如何将节点中的所有双反斜杠替换为单个反斜杠?在JavaScript字符串中,使用
“\\”
表示单个反斜杠。这是因为\“
表示单个”
字符,并且不终止字符串
您编写的正则表达式实际上没有任何效果,因为字符串不包含相邻的两个反斜杠
您可以(也应该)在任何需要反斜杠的位置/函数中使用\\
警报(“反斜杠:\\”;
//警告(“反斜杠:\”)//语法错误在JavaScript字符串中,单个反斜杠用“\\\”
表示。这是因为\“
表示单个”
字符,并且不终止字符串
您编写的正则表达式实际上没有任何效果,因为字符串不包含相邻的两个反斜杠
您可以(也应该)在任何需要反斜杠的位置/函数中使用\\
警报(“反斜杠:\\”;
//警告(“反斜杠:\”)//SyntaxError
“C:\backup\”
甚至不是有效的JS字符串。我想你对逃跑感到困惑。在JS中,\`意味着
`,不需要替换。在Firefox中,它还返回了“C:\\backup\\”
它工作得非常好!您可以在这里看到“C:\backup\”
甚至不是有效的JS字符串。我想你对逃跑感到困惑。在JS中,\`意味着
`,不需要替换。在Firefox中,它还返回了“C:\\backup\\”
它工作得非常好!你可以在这里看到它并没有真正回答这个问题。为什么在Chrome与Node或Firefox中解释它的方式有区别?区别来自于它的字符串使用方式。例如,如果在REPL中键入了“\\”
,或在控制台中像在我的回答中一样使用了“\\”
或“\\\”
。但是,如果以其他方式使用它(例如访问文件或打印到标准输出),它将被解释为\
。Chrome的控制台行为与Firefox的控制台不同,我没有注意到这一点(我使用的是Firefox,并假设它是同一件事。这并不能真正回答问题。为什么在Chrome和Node或Firefox中解释它的方式有区别?区别来自它的字符串使用方式。例如,如果“\\”
在REPL中键入或在控制台中使用,就像在我的回答中一样,它将打印“\\\”
或“\\\'
。但是,如果它以其他方式使用(例如访问文件或打印到标准输出),它将被解释为\
。Chrome的控制台的行为与Firefox的控制台不同,我没有注意到这一点(我当时正在使用Firefox,并假设它是同一件事。