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
我的正则表达式在regex101.com沙盒中工作,但在实际的javascript中不工作_Javascript_Regex - Fatal编程技术网

我的正则表达式在regex101.com沙盒中工作,但在实际的javascript中不工作

我的正则表达式在regex101.com沙盒中工作,但在实际的javascript中不工作,javascript,regex,Javascript,Regex,我创建regex是为了从源代码中删除一些内容 /SRC_START\n([\s\S]*?)\n\/\/SRC_END/i 我试过了 但它在我的控制台中不起作用: "ddd\ //SRC_START\ function bounce(objectA, objectB) {} \ \ //SRC_END\ return bounce;\ })".match(/SRC_START\n([\s\S]*?)\n\/\/SRC_END/i) 如您所见,我逐字复制了myregex101代码段中

我创建regex是为了从源代码中删除一些内容

/SRC_START\n([\s\S]*?)\n\/\/SRC_END/i
我试过了

但它在我的控制台中不起作用:

"ddd\
//SRC_START\
  function bounce(objectA, objectB) {} \
  \
//SRC_END\
  return bounce;\
})".match(/SRC_START\n([\s\S]*?)\n\/\/SRC_END/i)

如您所见,我逐字复制了myregex101代码段中的数据。我得到的结果是
null

您的输入字符串与regex101上的输入字符串不同

将您的输入声明为:

var str = 'ddd\n//SRC_START\n  function bounce(objectA, objectB) {} \n\n//SRC_END\n  return bounce;\n})\n';
然后这样做:

var re = /SRC_START\n([\s\S]*?)\n\/\/SRC_END/i;
var m = str.match(re);
将提供此匹配数组:

["SRC_START
  function bounce(objectA, objectB) {} 

//SRC_END", "  function bounce(objectA, objectB) {} 
"]
要在控制台中执行所有内联操作,请执行以下操作:

"ddd\n\
//SRC_START\n\
  function bounce(objectA, objectB) {}\n \
  \
//SRC_END\n\
  return bounce;\n\
})".match(/SRC_START\n([\s\S]*?)\n\s*\/\/SRC_END/i)
在正则表达式上使用和多行
m
标志

var matches=`ddd
//SRC_启动
函数bounce(objectA,objectB){}
//SRC_端
返回弹跳;
})`.match(/SRC\u START\n([\s\s]*?)\n\/\/SRC\u END/im);
console.log(匹配项);

document.body.innerHTML=''+JSON.stringify(匹配项,0,4)+''我知道,代码的问题是源字符串没有正确转义

//必须正确转义src
var src=“ddd\n”+
“//SRC\u START\n”+
函数反弹(objectA,objectB){}\n+
“\n”+
“//SRC\u END\n”+
“返回反弹;\n”+
“})\n”+
"";
var match=src.match(/src\u START\n([\s\s]*?)\n\/\/src\u END/i);

警报(“整个匹配:\n”+匹配[0]+”\n\n许可组:\n”+匹配[1])您确定没有CR符号吗?尝试将
\n
替换为
\r?\n