Bonjour tous,

J'essaie de faire matcher une regexp avec un String

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
boolean condition = Pattern.matches("x*yz*", "xxxyzzz");
if(condition) System.out.println("YES"); else System.out.println("NO");
Ceci affiche (évidemment) YES

Première chose, pourriez-vous me dire pourquoi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
boolean condition = Pattern.matches("x*y*z", "xxxyzzz");
if(condition) System.out.println("YES"); else System.out.println("NO");
Affiche NO???

Deuxième chose, pourriez-vous me dire pourquoi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
boolean condition = Pattern.matches("*z", "xxxyzzz");
if(condition) System.out.println("YES"); else System.out.println("NO");
balance une: Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0.
Cette exception semble survenir à chaque fois qu'on commence une regexp par " * " !!!

Dernière chose: la chaîne que je compare doit contenir des caractères spéciaux:
Ceci posera-t-il problème d'après-vous?

Merci beaucoup!!![/code]