import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "<figure[^>]*>([\\t\\n\\r\\s]*)<figcaption[^>]*>(.*)<\\/figcaption>([\\t\\n\\r\\s]*)<audio[^>]*>(([\\t\\n\\r\\s]|.)*)<\\/audio>([\\t\\n\\r\\s]*)<\\/figure>";
final String string = "<!-- Une simple image -->\n"
+ "<figure>\n"
+ " <img\n"
+ " src=\"https://developer.mozilla.org/static/img/favicon144.png\"\n"
+ " alt=\"Le logo de MDN.\">\n"
+ "</figure>\n\n"
+ "<!-- Une image avec une légende -->\n"
+ "<figure>\n"
+ " <img\n"
+ " src=\"https://developer.mozilla.org/static/img/favicon144.png\"\n"
+ " alt=\"Le logo de MDN.\">\n"
+ " <figcaption>Logo MDN</figcaption>\n"
+ "</figure>\n"
+ "<figure>\n"
+ " <figcaption>Obtenir les détails du navigateur</figcaption>\n"
+ " <pre>\n"
+ " function NavigatorExample(){\n"
+ " let txt;\n"
+ " txt = \"Nom de code: \" + navigator.appCodeName;\n"
+ " txt += \"Nom du navigateur : \" + navigator.appName;\n"
+ " txt += \"Version : \" + navigator.appVersion ;\n"
+ " txt += \"Cookies activés : \" + navigator.cookieEnabled;\n"
+ " txt += \"Plate-forme: \" + navigator.platform;\n"
+ " txt += \"En-tête d'agent utilisateur : \" + navigator.userAgent;\n"
+ " console.log(\"NavigatorExample\", txt);\n"
+ " }\n"
+ " </pre>\n"
+ "</figure>\n"
+ "<figure>\n"
+ " <figcaption>\n"
+ " <cite>Edsger Dijkstra : </cite>\n"
+ " </figcaption>\n"
+ " <p>« Si le débogage correspond au retrait de bogues,\n"
+ " alors la programmation correspond à l'ajout de bogues. »\n"
+ " </p>\n"
+ "</figure>\n"
+ "<figure style=\"display:table; margin:0 auto;\">\n"
+ "<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\">\n"
+ "<figcaption>Grole abandonnée sur les rochers du petit port de Pen-Hors</figcaption>\n"
+ "</figure>\n\n"
+ "<figure style=\"display:table; margin:0 auto;\">\n"
+ "<a href=\"#\">\n"
+ "<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\">\n"
+ "</a>\n"
+ "<figcaption>Grole abandonnée sur les rochers du petit port de Pen-Hors</figcaption>\n"
+ "</figure>\n\n"
+ "<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>\n\n"
+ "<figure>\n"
+ " <figcaption>Listen to the T-Rex:</figcaption>\n"
+ " <audio\n"
+ " controls\n"
+ " src=\"/media/cc0-audio/t-rex-roar.mp3\">\n"
+ " Your browser does not support the\n"
+ " <code>audio</code> element.\n"
+ " </audio>\n"
+ "</figure>\n";
final String subst = "";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html