Regexp exec在Edge中不起作用

时间:2017-11-15 04:03:39

标签: javascript regex internet-explorer microsoft-edge

我有一个正则表达式,它在Chrome / Firefox中运行良好,但在Edge中无效。

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);
console.log(result[0]);

JSFiddle演示: https://jsfiddle.net/JSDavi/k391qs72/2/

请在不同的浏览器中打开它。这在Edge中很奇怪。

1 个答案:

答案 0 :(得分:1)

此正则表达式适用于所有浏览器。

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);
console.log(result[1]);