const regex = /<figure[^>]*>([\t\n\r\s]*)<figcaption[^>]*>(.*)<\/figcaption>([\t\n\r\s]*)<audio[^>]*>(([\t\n\r\s]|.)*)<\/audio>([\t\n\r\s]*)<\/figure>/mg;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('<figure[^>]*>([\\t\\n\\r\\s]*)<figcaption[^>]*>(.*)<\\\/figcaption>([\\t\\n\\r\\s]*)<audio[^>]*>(([\\t\\n\\r\\s]|.)*)<\\\/audio>([\\t\\n\\r\\s]*)<\\\/figure>', 'mg')
const str = `<!-- Une simple image -->
<figure>
<img
src="https://developer.mozilla.org/static/img/favicon144.png"
alt="Le logo de MDN.">
</figure>
<!-- Une image avec une légende -->
<figure>
<img
src="https://developer.mozilla.org/static/img/favicon144.png"
alt="Le logo de MDN.">
<figcaption>Logo MDN</figcaption>
</figure>
<figure>
<figcaption>Obtenir les détails du navigateur</figcaption>
<pre>
function NavigatorExample(){
let txt;
txt = "Nom de code: " + navigator.appCodeName;
txt += "Nom du navigateur : " + navigator.appName;
txt += "Version : " + navigator.appVersion ;
txt += "Cookies activés : " + navigator.cookieEnabled;
txt += "Plate-forme: " + navigator.platform;
txt += "En-tête d'agent utilisateur : " + navigator.userAgent;
console.log("NavigatorExample", txt);
}
</pre>
</figure>
<figure>
<figcaption>
<cite>Edsger Dijkstra : </cite>
</figcaption>
<p>« Si le débogage correspond au retrait de bogues,
alors la programmation correspond à l'ajout de bogues. »
</p>
</figure>
<figure style="display:table; margin:0 auto;">
<img loading="lazy" src="/public/illustrations/2021/.grole_u.jpg" alt="Grole abandonnée sur les rochers, août 2021" title="Grole abandonnée sur les rochers, août 2021" height="600" width="600" class="a42-ac-replace-img">
<figcaption>Grole abandonnée sur les rochers du petit port de Pen-Hors</figcaption>
</figure>
<figure style="display:table; margin:0 auto;">
<a href="#">
<img loading="lazy" src="/public/illustrations/2021/.grole_u.jpg" alt="Grole abandonnée sur les rochers, août 2021" title="Grole abandonnée sur les rochers, août 2021" height="600" width="600" class="a42-ac-replace-img">
</a>
<figcaption>Grole abandonnée sur les rochers du petit port de Pen-Hors</figcaption>
</figure>
<figure style="display:table; margin:0 auto;"><a href="#"><img loading="lazy" src="/public/illustrations/2021/.grole_u.jpg" alt="Grole abandonnée sur les rochers, août 2021" title="Grole abandonnée sur les rochers, août 2021" height="600" width="600" class="a42-ac-replace-img"></a><figcaption>Grole abandonnée sur les rochers du petit port de Pen-Hors</figcaption></figure>
<figure>
<figcaption>Listen to the T-Rex:</figcaption>
<audio
controls
src="/media/cc0-audio/t-rex-roar.mp3">
Your browser does not support the
<code>audio</code> element.
</audio>
</figure>
`;
const subst = ``;
// 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