Javascript 在Node.js和Chrome中使用Regex转义字符
当我在Chrome 43.0.2357.130(64位)中运行以下代码时 Chrome返回Javascript 在Node.js和Chrome中使用Regex转义字符,javascript,regex,node.js,google-chrome,Javascript,Regex,Node.js,Google Chrome,当我在Chrome 43.0.2357.130(64位)中运行以下代码时 Chrome返回“ABCD\+EFGH/IJKL” 当我在Node.js v0.12.0中运行相同的代码时,Node返回带有两个反斜杠的'ABCD\\\+EFGH/IJKL' 当我在节点中运行以下代码时 var myString = "ABCD+EFGH/IJKL"; myString.replace(/\+/g,"\+") 节点返回'ABCD+EFGH/IJKL' 我怀疑Node.js中是否存在这样一个基本的bug,所
“ABCD\+EFGH/IJKL”
当我在Node.js v0.12.0中运行相同的代码时,Node返回带有两个反斜杠的'ABCD\\\+EFGH/IJKL'
当我在节点中运行以下代码时
var myString = "ABCD+EFGH/IJKL";
myString.replace(/\+/g,"\+")
节点返回'ABCD+EFGH/IJKL'
我怀疑Node.js中是否存在这样一个基本的bug,所以我一定是做错了什么
如何让Node.js中的regex返回
'ABCD\+EFGH/IJKL'
给定的myString
作为输入?在Node中,如果运行console.log(myString.replace(/\+/g,\\+])
您将获得所需的输出。我认为Node在直接输出到REPL时并没有进行转义。@idbehold说的是:Node REPL将newString
打印为'ABCD\\\+EFGH/IJKL'
,但是如果您执行console.log(newString)
您将看到正确的答案:ABCD\+EFGH/IJKL
。在Node中,如果您运行console.log(myString.replace)(/g),“\\+”)
您将获得所需的输出。我认为Node在直接输出到REPL时没有进行转义。@idbehold所说的:Node REPL将newString
打印为'ABCD\\\+EFGH/IJKL'
但如果您执行console.log(newString)
您将看到正确的答案:ABCD\+EFGH/IJKL
。
var myString = "ABCD+EFGH/IJKL";
myString.replace(/\+/g,"\+")