regex avec plusieurs entrées
Bonjour, j'utilise les regex pour transformer un code HTML <pre></pre> qui est de la forme <pre... dans ma base de données :
Code:
1 2 3 4 5
| pattern = Pattern.compile("<pre class="(.{2,20})">(.+)<\\/pre>", Pattern.DOTALL | Pattern.MULTILINE);
matcher = pattern.matcher(cont);
replace = "<pre class=\"$1\">$2</pre>";
int j=0;
cont = matcher.replaceAll(replace); |
si il y a 3 <pre></pre> à la suite (même séparés) java remplace la première balise <pre> d'ouverture et la dernière </pre> de fermeture, bien sur ce n'est pas satisfaisant.
je ne vois pas trop comment faire j'ai essayé avec une boucle while(matcher.find()) mais apparemment il ne me trouve qu'un motif (alors qu'il y en a 3), j'avoue qu'après quelques recherches sur google je bloque un peu.
Merci.