Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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 在Node.js和Chrome中使用Regex转义字符_Javascript_Regex_Node.js_Google Chrome - Fatal编程技术网

Javascript 在Node.js和Chrome中使用Regex转义字符

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,所

当我在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,所以我一定是做错了什么


如何让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,"\+")