Bonjours tout l'monde !
Je me retrouve depuis une petite journée confronté au problème suivant :
Je veux capturer une valeur dans une chaine de caractère, or j'obtiens une erreur sur Eclipse comme quoi aucun résultat n'a été trouvé par la méthode ".group()" :
Voila la ligne sur laquelle je travaille :
/I*2*/ /L1*FR*/ /L2*EO*/ /M1*fils*/ /M2*filo*/ /CO1*NULL*/ /CO2*NULL*/ /T*nom*/ /CA*relation*/ /P*10*/
Je veux capturer la valeur contenu dans la première balise (/I* */)qui est 2. Voila comment je procède :
Et voila l'erreur en détail :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 motifid = ".*/I\\*(\\d)\\*/.*"; Pattern pid = Pattern.compile(motifid); Matcher mid = pid.matcher(chaine[1]); //chaine[1] qui est la ligne sur laquelle je travaille System.out.println(mid.group()); //L'erreur apparait avec le System.out.println(mid.group())
Exception in thread "main" java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Unknown Source)
at java.util.regex.Matcher.group(Unknown Source)
Donc group() n'a pas trouvé la chaine (j'ai testé avec group(0) et group(1) même résultat) pourtant j'ai pas l'impression de m'être planté dans le motif à rechercher...
Merci pour votre aide =)
Partager