鍍金池/ 問答/Java  網(wǎng)絡(luò)安全  HTML/ JavaScript: 正則表達式 exec 匹配方法返回null (Edge中

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

請各位幫忙解惑。

回答
編輯回答
萌吟

寫的有問題把 <header.*(?=.|\n)*?</header>

2018年9月3日 16:13
編輯回答
不歸路

已找到了答案。感謝樓上的各位。

但還是:對這個問題中的正則表達式,在不同瀏覽器中的匹配規(guī)則結(jié)果不同表示不理解, 也許到了我該忽視IE的時候了?

最終為:

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

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

2018年7月3日 06:07
編輯回答
墨小白
<header>([\s\S]*?)</header>
2018年9月13日 18:43