[regex] j'ai pas compris l'utilisation du point
Bonjour a tous
j'essaye de comprendre l'utilisation du point dans les Regex :oops::aie:
ou alors c'est peut etre l'association du "point" (n'importe quel caractère" avec l'etoile "*" (0 à n caractères ) ?? :(
pouvez vous m'expliquer les différences entre les 3 lignes ci-dessous
Code:
1 2 3
| Pattern p = Pattern.compile("[P|p]*a*J*");
Pattern p = Pattern.compile("[P|p].*a*J*");
Pattern p = Pattern.compile("[P|p].*a.*J.*"); |
Dans le code suivant la première ligne ci-dessus renvoi "non trouvé"
et je ne comprend pas pourquoi ?
Merci de votre aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| package dev;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchTester {
/**
* @param args
*/
public static void main(String[] args) {
Pattern p = Pattern.compile("[P|p]*a*J*");
Matcher m = p.matcher("PrograOKmmation en Java");
boolean b = m.matches();
if (b) {
System.out.println("Le motif est trouve.");
} else {
System.out.println("Le motif n'est pas trouve.");
}
}
} |