Guide sommaire des expressions régulières, indispensable pour l’utilisation des filtres de messagerie chez online, ou la recherche avec expressions régulières sur Open-Office et Libre-Office
Méta-caractères
Code | Signification | Exemple |
\ | Le caractère ‘escape’ de contrôle. | \\ correspond au contre-slash, ‘\’. \$ correspond au dollar, ‘$’. |
| | Le caractère de contrôle ‘ou’. | Yo|Hello|Hola correspond à ‘Yo’, ‘Hello’ ou ‘Hola’. |
( ) | Pour grouper et mettre en mémoire. Peut être rappelé avec \1, \2… \n ou $1, $2… $n . Pour ne pas mettre en mémoire, ajouter ‘?:’ après la parenthèse ouvrante. |
(Yo|Hello|Hola) Patrick correspond à ‘Yo Patrick, ‘Hello Patrick’ or ‘Hola Patrick’. Si une chaine correspond $1 contient ‘Yo’, ‘Hello’ or ‘Hola’. (?:Yo|Hello|Hola) Patrick correspond à la même chose mais sans stocker $1. |
[ ] | Pour définir une plage de caractères | [abc] correspond à ‘a’, ‘b’ ou ‘c’. [a-z] correspond à toutes les lettres minuscules de a à z. |
{ } | Pour préciser une répétition | Yo{3} pour ‘Yooo’. Yo{3,} pour ‘Yooo’ avec 3 ou plus de o Yo{3,5} pour ‘yooo’, ‘yoooo’, ‘yooooo’ (?:Yo){3} correspond à’YoYoYo’. |
. | N’importe quel caractère sauf le retour à la ligne | * |
* | Entre 0 et n fois le caractère ou groupe précédent. pareil que {0,} NOTE:Si * est suivi de ? permet de sortir de la correspondance. |
Yo* pour ‘Y’, ‘Yo’, ‘Yoooooooo’ … Y.* pour ‘Y’ suivi d’un caractère. Y.*?Yo pour ‘Y’ suivi d’un caractère, mais s’arrête s’il trouve Yo |
+ | Entre 1 et n fois le caractère ou groupe précédent. pareil que {1,} NOTE:Si + est suivi de ? permet de sortir de la correspondance. |
Yo+ pour ‘Yo’, ‘Yoooooooo’ … Y.+ pour ‘Y’ suivi d’un caractère au moins. Y.+?Yo pour ‘Y’ suivi d’un caractère au moins, mais s’arrête s’il trouve Yo. |
? | Pareil que {0,1}. | Yo? pour ‘Y’ or ‘Yo’. |
^ | En début d’expression, doit commencer par… Après un crochet ouvrant, correspond à la négation, Sinon corrrespond à ‘^’ |
^Yoz correspond si la chaine commence par ‘Yoz’. [^Yoz] correspond à ‘non Yoz’. Yo^Yo correspond à Yo^Yo. |
$ | La chaine précédant le $ doit terminier l’expression (ou le saut de ligne). Pareil que \Z. |
Yo$ Correspond si la chaine se finit par ‘Yo’. |
Les Classes
Code | Signification | Equivalent | |
\d | un chiffre | [0-9] | |
\D | n’est pas un chiffre | [^0-9] | |
\w | un caractère aplhanumérique | [a-zA-Z_0-9] | |
\W | n’est pas un caractère aplhanumérique | [^a-zA-Z_0-9] | |
\s | une espace » « | [ \t\n\r\f] | |
\S | n’est pas une espace » « | [^ \t\n\r\f] |
Les codes ancres
Code | Signification | Exemple |
\b | Valide la fin du mot | Yo\b pour’Yo’ mais pas ‘Yo-yo’. |
\B | Tout sauf la fin du mot | reg\B pour ‘reggie’ ou ‘regexp’ mais pas ‘reg’. |
\A | valide le début d’un mot | abc\A pour ‘abcd’ |
\Z | identique à $ | |
(?=…) | évalue la chaine avant si la chaine « … » est trouvée | |
(?!…) | évalue la chaine avant si la chaine « … » n’est pas trouvée |
Les balises de modifications
Code | Signification | |
g | Comparaison globale. Cherche toutes les occurences et non pas seulement la première | |
i | Analyse non sensible à la casse majuscule – minuscule | |
m | Analyse sur plusieurs lignes | |
o | Compile en une seule passe | |
s | Assimiler la chaine à une ligne | |
x | Utilise les expressions régulières étendues | |
e | Evalue la partie droite comme une expression |