bonjour,
j'ai le code suivant: (s est une variable string, contenu est une string)
ça fonctionne très bien sauf si j'ai une variable s par exemple slt et que dans mon texte, j'ai slt(bonjour). J'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
 1
2
3
4
5
6
7
8 Pattern regex = Pattern.compile("(\\W("+s+")\\W)"); Matcher match = regex.matcher(contenu); boolean b = match.find(); if (b == true) { String matchFound = match.group(); String matchColored ="<font size=\"4\" style bgcolor=\"#33CCFF\">"+matchFound+"</font>"; contenu = contenu.replaceAll(matchFound, matchColored); }donc j'ai voulu faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
 1
2
3 Autre erreur : java.util.regex.PatternSyntaxException: Unclosed group near index 5 slt(
et ça marche sauf que maintenant, si j'ai une variable ct et que dans mon texte, j'ai action par exemple, alors ça va me repérer le mot action car il contient ct. or moi, je ne veux que ct. C'est pour ça que j'avais mis les \\W. Donc comment faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
 1
2
3
4
5
6
7
8 Pattern regex = Pattern.compile("(\\W("+s+")\\W)"); Matcher match = regex.matcher(contenu); boolean b = match.find(); if (b == true) { String matchFound = match.group(2); String matchColored ="<font size=\"4\" style bgcolor=\"#33CCFF\">"+matchFound+"</font>"; contenu = contenu.replaceAll(matchFound, matchColored); }
- pour ne surligner que le mot exact et pas un mot qui en inclus un autre
- ne pas tenir compte des caractères non mot d'avant et d'après ?
Merci
		
		
        






  Répondre avec citation

   
 c'est que je n'avais pas tout mis dans le premier message. En fait, ma regex et mon replaceAll sont dans une boucle while. Cette boucle permet d'obtenir la variable s. Donc avec les substrings, j'ai des indexoutofboundsexception car à chaque tour de while, je me retrouve avec un oldmatch qui est plus grand que le new match. 
 
 que 3 heures, c'est peut etre pour ça que je vois pas comment faire 
 
 
 
 
 et notamment sur les regex  
 
  (car j'en doute pas une seconde, je vais bientot bloquer sur un autre probleme 
Partager