-2

I have a regexp, it works fine in Chrome/Firefox, but get null in 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 demo: https://jsfiddle.net/JSDavi/k391qs72/2/

Please open it in different browsers. It's weird in Edge.

TylerH
  • 20,816
  • 57
  • 73
  • 92
Kate
  • 869
  • 7
  • 7

1 Answers1

1

This regex works in all browsers.

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]);
Alex Kudryashev
  • 8,750
  • 3
  • 26
  • 33