const regex = /<style[^>]*>([^<]+)?<[\s\/]+style>/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('<style[^>]*>([^<]+)?<[\\s\\\/]+style>', 'gm')
const str = `<head>
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="website" />
<style>html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}</style>
<link rel='dns-prefetch' href='//js.stripe.com' />
<style id="pf-used-css">button,hr,input{overflow:visible;}[type="checkbox"],[type="radio"],legend{box-sizing:border-box;padding:0;}html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body,h1,h2,h3,h4,h5,h6{margin:0;}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block;}hr{background-image:url("data:image/svg+xml;charset=utf-8,<svg viewBox=\\"0 0 50 50\\" height=\\"24\\" width=\\"24\\" xmlns=\\"http://www.w3.org/2000/svg\\" fill=\\"%23B0B0B0\\"><path d=\\"M 9.15625 6.3125 L 6.3125 9.15625 L 22.15625 25 L 6.21875 40.96875 L 9.03125 43.78125 L 25 27.84375 L 40.9375 43.78125 L 43.78125 40.9375 L 27.84375 25 L 43.6875 9.15625 L 40.84375 6.3125 L 25 22.15625 L 9.15625 6.3125 z\\"/></svg>");}.swal-label-required{display:inline-block;position:relative;right:9999px;margin-left:10px;}</style>
<style>html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}</style>
</head>
<body>`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions