Bonjour,
je récupère un code HTML dans mon application et je dois modifier certaines balises. Mon soucis est que je n'arrive pas à trouver les bonnes expressions régulières et que je ne sais pas comment faire pour modifier ces balises.
Les liens hypertextes
Je reçoit les liens sous la forme suivantes :
<a href="mapage.jsp;jsessionid=xxx?param=value" >qqch</a>
et je dois effectuer la transaformation suivante :
<a href="#" onclick="maFonction('mapage.jsp', 'mesparamètres')" />qqch</a>
Voici mon expression régulière :
1 2 3 4 5 6 7 8 9 10
|
Pattern p = Pattern.compile("<a .*(href=\"(.*\\.jsp)([^\"]*)\").*>");
Matcher m = p.matcher(psFluxHTML);
boolean ok = m.matches();
if(ok) {
//--- pour chaque groupe
for(int i=0; i<=m.groupCount(); i++) {
System.out.println("Liens - groupe " + i + " : " + m.group(i));
}
} |
Les images
Je reçoit les images sous la forme suivantes :
<img src="/xxx/xxx/monimage.ext" >
et je dois effectuer la transaformation suivante :
<img src="autrerepertoire/monimage.ext" >
Et voici mon expression régulière :
1 2 3 4 5 6 7 8 9 10
|
Pattern p2 = Pattern.compile("<img.*src=\"/.*/(.*)\".*>");
Matcher m2 = p2.matcher(psFluxHTML);
boolean ok2 = m.matches();
if(ok2) {
//--- pour chaque groupe
for(int i=0; i<=m2.groupCount(); i++) {
System.out.println("Image - groupe " + i + " : " + m2.group(i));
}
} |
J'ai utilisé et testé ces 2 expressiosn dans le logiciel Kodos mais lorsque je les exécute dans mon code JAVA mes expressions ne semblent pas être correctes car aucun résultat n'est retourné.
Avez-vous une idée concernant ce problème ?
Savez-vous comment effectuer les changements dans les balises lorsque les expressions sont bonnes ?
Merci d'avance,
Erwan
Partager