Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式在浏览器中工作,但在NodeJs中不工作_Javascript_Node.js - Fatal编程技术网

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,并假设它是同一件事。