Académique Documents
Professionnel Documents
Culture Documents
rgulires
les
Quelques expressions
rgulires simples (1)
Quelques expressions
rgulires simples (2)
Quelques expressions
rgulires simples (3)
Supposons rechercher sur la mme ligne le mot
elvis suivi de tous les mots prcdents le mot
concert.
5. \b\d{3}-\d{10}
\ba\w*\b
recherche tous les mots commenant par le lettre a
\d+
recherche tous les mots ne contenant que des chiffres
(+ est identique * sauf quil ncessite au moins une
rptition).
\b\w{6}\b
trouve un mot de 6 lettres.
7
1. Chanes littrales
2. Mta caractres
3. Classes de caractres
4. Quantificateurs
5. Groupes de capture
6. Frontires de recherche
8
T ous
T ous
T ous
T ous
caractres
caractres
caractres
caractres
sau f x
aeio u
m a ju scu le s et m in u scu le s
sau f ae io u
10
Squence dchappement
Rptitions
*
+
?
12
Frontires de recherche
13
Classes de caractres
14
15
Groupe capturant
(\d{1,3}\.){3}\d{1,3}
Lexpression prcdente recherche 3 squences de 1..3
digits termins par un . suivi dune autre expression de
1..3 digits. Exemple 192.168.0.1
\b((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[04]\d|25[0-5]|[01]?\d\d?)\b
16
Quantificateurs
17
18
et une exception
PatternSyntaxException
Exception lance lorsquune erreur apparat dans la
syntaxe des motifs employs.
20
Mthode prinpale :
boolean find();
Exemple :
/ / compilation de la regex
Pattern p = Pattern.compile("[a-z]");
/ / cration dun moteur de recherche
Matcher m = p.matcher("abc");
/ / lancement de la recherche de toutes les occurrences
boolean b = m.find();
21
Exemple RegEx1
Premier exemple
22
Mthode split( )
23
Remplacements
Exemple complet :
/ / compilation de la regex avec le motif : "th"
Pattern p = Pattern.compile("th");
/ / cration du moteur associ la regex sur la chane
"Jaime le th."
Matcher m = p.matcher("Jaime le th.");
/ / remplacement de toutes les occurrences de "th"
par "chocolat"
String s = m.replaceAll("chocolat");
25
Expression
(pattern)
^c
a$
coco*
Le caractre prcdent * peut tre rpter 0..n fois. Ici on recherche coc, coco, cocoo,
cocooo, . (ici b=true)
co(co)*
Les caractres entre ( ) prcdent * peuvent tre rpter 0..n fois. Ici on recherche co,
coco, cococo, cocococo,. (ici b=true)
coc+
Le caractre prcdent + peut tre rpt 1..n fois. Ici on recherche coc, cocc, coccc,.
Affichage (ici b=true)
coc?
Le caractre prcdent ? peut tre rpt 0..1 fois. Ici on recherche co, coc
ici b=true)
26
Expression
Commentaire
o{2}
o{2,4}
La lettre o doit tre reprsente entre deux et quatre fois (ici b=true)
o..o
Co|co
c(o|a|e)
[aeiou]
[^aeiou]
Cherche nimporte quel caractre sauf ceux entre crochets (ici b=true)
\bca
\b indique le dbut dun mot. Le mot doit commencer par ca (ici b=false)
ca\b
\b indique la fin dun mot. Le mot doit commencer terminer par ca (ici b=true)
\d
Cherche un chiffre
\D
Commentaire
\w
\W
\s
\S
bo(n|r)
bo(nj|r)
bo(nj|r)*
nj ou r doivent apparatre zro ou une fois aprs bo. Ici on cherche bo bonj ou
bor
^bo(nj|r)*
\bbo(nj|r)+
\b(bo(nj|r)+|c)