JavaScript: 正则表达式 exec 匹配方法返回null (Edge中有此异常)
JS 正则表达式在Chrome/Firefox 中返回正常(<header>...</header>),在Edge 中返回null 。 Demo如下:
var regexp = new RegExp("<header.*(?=)(.|\n)*?<\/header>", "g");
var str = "<body><header><h2>Title</h2></header><footer>footer</footer></body>";
var result = regexp.exec(str);
alert(result);
JSFiddle: (在不同浏览器中打开-测试)
https://jsfiddle.net/JSDavi/k...
请各位帮忙解惑。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
写的有问题把
<header.*(?=.|\n)*?</header>
已找到了答案。感谢楼上的各位。
但还是:对这个问题中的正则表达式,在不同浏览器中的匹配规则结果不同表示不理解, 也许到了我该忽视IE的时候了?
最终为:
JSFiddle: https://jsfiddle.net/JSDavi/k...