bonjour à tous, je me lance dans les expressions régulières est malgré le grand nombre de tuto dispo sur le net je m'en sors pas.

J'ai un texte, de l'html, et je voudrais retirer les commentaires html donc tout ce qui se trouve entre <!-- et --> (tag compris).

voici le code que j'ai ecris
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
int mLast = 0;
StringBuffer m9482= new StringBuffer();
//Pattern matchant les commentaires HTML
p = Pattern.compile("(<!--.*-->)");
m = p.matcher(monTexte);
while (m.find()){
  //on recopie la chaine avant ou entre 2 commentaires
  m9482.append(monTexte.substring(mLast, m.start()));
  //on se positionne sur la fin du commentaire
  mLast = m.end();
}
//on recupere la chaine après le dernier commentaire
m9482.append(monTexte.substring(mLast));
Ce code marche si je met un entrant tel que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
String monTexte = "toto <!-- plop --> et pouet <b>plip</b>";
Cependant je peux avoir dans mes commentaires 1 ou plusieurs retour chariot tel que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
String monTexte = "toto <!-- plop 
une ligne et
une autre --> et pouet <b>plip</b>";
Et dans ce cas je n'arrive pas à ecrire mon pattern j'ai essayé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
p = Pattern.compile("(<!--([.|\\n]*)-->)");
Mais ça marche pas. Si quelqu'un peut m'aider ca serait top

Merci à tous