我创建了正则表达式以减少部分源代码。
/SRC_START\n([\s\S]*?)\n\/\/SRC_END/i
我在regex101.com where it appears to work上进行了测试。
但这在我的控制台中不起作用:
"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)