我的regex可以在regex101.com沙箱中工作,但不能在实际的javascript中工作
My regex works in regex101.com sandbox but not in actual javascript
我创建regex是为了从源代码中截取一些部分。
/SRC_START'n(['s'S]*?)'n'/'/SRC_END/i
我在regex101.com上测试了它,在那里它似乎可以工作。
但它在我的控制台上不起作用:
"ddd'
//SRC_START'
function bounce(objectA, objectB) {} '
'
//SRC_END'
return bounce;'
})".match(/SRC_START'n(['s'S]*?)'n'/'/SRC_END/i)
正如您所看到的,我逐字逐句地复制了mylege101片段中的数据。得到的结果是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)
在regex上使用模板文字和多行m
标志。
var matches = `ddd
//SRC_START
function bounce(objectA, objectB) {}
//SRC_END
return bounce;
})`.match(/SRC_START'n(['s'S]*?)'n'/'/SRC_END/im);
console.log(matches);
document.body.innerHTML = '<pre>' + JSON.stringify(matches, 0, 4) + '</pre>';
我看到,您的代码的问题是源字符串没有正确转义。
// the src must be properly escaped
var src = "ddd'n"+
"//SRC_START'n"+
" function bounce(objectA, objectB) {} 'n"+
"'n"+
"//SRC_END'n"+
" return bounce;'n"+
"})'n"+
"";
var match = src.match(/SRC_START'n(['s'S]*?)'n'/'/SRC_END/i);
alert("WHOLE MATCH:'n" + match[0] + "'n'nCAPTURED GROUP:'n" + match[1]);
相关文章:
- 用户名输入如果其他块不能正常工作/Javascript-jQuery-AJAX
- 变量只能在函数中局部工作,不能全局工作-Javascript
- onClick按钮不工作javascript/php/jquery mobile
- 点击骰子赢得't工作(javascript)
- for循环,if else不工作Javascript
- 获取下一个不工作Javascript DOM的同级父节点的子节点
- 可以'没有一个函数可以工作——Javascript
- OnFocus 不是工作 JavaScript HTML;不显示对焦时计算和按钮单击时
- 从 iframe 访问主站点中的工作 JavaScript
- 对于在循环中无法按预期工作 JavaScript
- 在阅读表单输入后写回HTML;t工作(Javascript)
- 复选框单击有效,取消选中复选框不工作Javascript
- 代码在Codepen中工作,而不是在浏览器中工作:JavaScript在鼠标滚轮上缩放SVG
- 当用户在这个工作javascript注释框中提交注释时,您将如何添加用户图像和名称
- 向Wordpress添加工作Javascript谷歌地图代码
- 确认/重定向功能不工作-javascript
- 当/patt/版本工作时,为什么RegExp版本不工作?(Javascript)
- Firefox加载项按钮代码不工作-Javascript
- 计算器功能不工作- Javascript
- 将工作JavaScript对象序列化为仅保留属性的JSON