Bonus : expressions régulières - SimplonSt-Gaudens/programme-web-dev-promo-2 GitHub Wiki
Expressions régulières
Une chaîne entière
- "licorne" : j'aime les licornes => vrai
- "ragondin" : j'aime les licornes => faux
Ou
- "licorne|ragondin" : j'aime les licornes => vrai
Commence par
- "^j" : j'aime les licornes => vrai
- "^s" : j'aime les licornes => faux
Finit par
- "s$" : j'aime les licornes => vrai
- "j$" : j'aime les licornes => faux
Un parmi
- "[aeiouy]" : j'aime les licornes => vrai
- "lic[aeiouy]rnes" : j'aime les licornes => vrai
- "[zxwb]" : j'aime les licornes => faux
Intervalle
- "[a-z]" ou "[d-p]"
- "[A-Z]" ou "[M-S]"
- "[0-9]" ou #[3-6]
- Du coup : "[a-zA-Z0-9]"
Exclusion
- "[^a-z]" si on ne veut pas de lettre en minuscule dans notre chaîne de caractères. Parce que l'accent est à l'intérieur des crochets.
Quantificateurs
-
"z?" : 0 ou 1 "z"
-
"z+" : au moins 1 "z"
-
"z*" : 0, 1 ou plusieurs "z". Oui, on peut s'interroger sur l'utilité de ceci.
-
Pour bosser sur une chaîne de caractères à dénombrer, on utilise des parenthèses : "[(licorne)*]".
-
"^[Te+st]$" reconnaît "Teeeeeeeeest" mais pas "Test pourri".
-
Plutôt que ?,+ et * vous pouvez utiliser des accolades :
-
{3} : exactement 3 occurences
-
{2, 4} : entre 2 et 4 occurences
-
{2,} : 2 occurences ou plus
Caractères spéciaux
- Pas de souci pour filtrer des caractères accentués
- En revanche, pour les caractères spéciaux, il faut les faire précéder par un \ : "z?" correspond bien à "z?" (mais pas à "z").
Les derniers pour la route
- \d : Indique un chiffre.
- \D : Indique ce qui n'est PAS un chiffre.
- \w: Indique un caractère alphanumérique ou un tiret de soulignement.
- \W : Indique ce qui n'est PAS un mot.
- \t : Indique une tabulation
- \n : Indique une nouvelle ligne
- \r : Indique un retour chariot
- \s : Indique un espace blanc
- \S : Indique ce qui n'est PAS un espace blanc (\t \n \r)
- . : Indique n'importe quel caractère.