const regex = /(<head\b[^<>]*>)([\s\S]*?)(<\/head>)/i;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(<head\\b[^<>]*>)([\\s\\S]*?)(<\\\/head>)', 'i')
const str = `<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Library - Information At Your Fingertips: Printer Friendly</title>
<style>body
{
margin: 5px 50px 40px 50px;
color: #000000;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size: 90%;
line-height: 20px;
}
</style>
</head>
<BR><BR>
<CENTER>
<H2>SECOND DIVISION</H2>
<H2 style='background-color:#cccccc;padding-top:10px;padding-bottom:10px;'>[ G.R. No. 180416, June 02, 2014 ]</H2>
<H3>ADERITO Z. YUJUICO AND BONIFACIO C. SUMBILLA, PETITIONERS, VS. CEZAR T. QUIAMBAO AND ERIC C. PILAPIL, RESPONDENTS.<BR><BR>D E C I S I O N</H3>
</CENTER>
<p><STRONG>PEREZ, J.:</STRONG></p>
<p><div align="JUSTIFY">This case is a Petition for Review on <i>Certiorari</i><sup style="color: rgb(255, 0, 0);">[1]</sup> from the <i>Order</i><sup style="color: rgb(255, 0, 0);">[2]</sup> dated 4 June 2007 and 5 November 2007 of the Regional Trial Court (RTC), Branch 154, of Pasig City in S.C.A. No. 3047.<br><br>The facts:<br><br><center><i><u>Backgrou
</html>`;
const subst = `$1foo$3`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
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