0

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...

请各位帮忙解惑。

3个回答

0

写的有问题把 <header.*(?=.|\n)*?</header>

0
<header>([\s\S]*?)</header>
0

已找到了答案。感谢楼上的各位。

但还是:对这个问题中的正则表达式,在不同浏览器中的匹配规则结果不同表示不理解, 也许到了我该忽视IE的时候了?

最终为:

<header[^>]*>((.|\n)*?)\<\/header>

JSFiddle: https://jsfiddle.net/JSDavi/k...

撰写答案