re = /<figure[^>]*>([\t\n\r\s]*)<figcaption[^>]*>(.*)<\/figcaption>([\t\n\r\s]*)<audio[^>]*>(([\t\n\r\s]|.)*)<\/audio>([\t\n\r\s]*)<\/figure>/m
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>
'
subst = ''
result = str.gsub(re, subst)
# Print the result of the substitution
puts 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 Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html