Unknown : regexp exec in Edge

Unknown : regexp exec in Edge

by JSDavi

JavaScript

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);
result && result[0] && alert("1: \n" + result[0]);

// Get an answer from Alex Kudryashev in stackoverflow
// https://stackoverflow.com/questions/47299177/js-regexp-exec-not-work-in-edgeie

// And this regex works in all browsers.
regexp = new RegExp("<header[^\>]*\>((.|\n)*?)\</header\>", "g");

result = regexp.exec(str);
alert("2: \n" + result[0]);


// ** Optimize: remove "\" for "<" ">", I think it is useless
regexp = new RegExp("<header[^>]*>((.|\n)*?)\<\/header>", "g");

result = regexp.exec(str);
alert("3: \n" + result[0]);