Bonjour a tous
j'essaye de comprendre l'utilisation du point dans les Regex
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.");
		}
	}
}