Le tableau ci-dessous est une repompe complétée et modifiée de cette page :
https://httpd.apache.org/docs/trunk/fr/rewrite/intro.html
Symbole | Signification | Exemple |
/bla/ | Requête regex où l'on cherche les lignes contenant bla | |
| | Opérateur OU logique | Bonjour|revoir correspond au mot Bonjour ou revoir |
. | Tout caractère unique | c.t correspondra à cat, cot, cut, etc. |
{min,max} | Quantificateur. Indique le nombre de répétition du caractère ou de la suite de caractère qui les précède. |
bb correspond à b{2} b{2,3} va matcher avec bb ou bbb mais pas b ou bbbb |
? | Rend le caractère précédent optionnelle. |
Est équivalent à {,1} cad 0 ou 1 répétition colou?r correspondra à color et colour. |
! |
négation mais uniquement avec le module mod_rewrite d'apache Pour les négations voir sur datacadamia.com ou plus bas avec [^ ] |
|
* | Répète le caractère précédent zéro ou plusieurs fois |
Est équivalent à {0,} cad 0 ou plusieurs répétitions a* correspond à tout ce à quoi correspond a+, mais correspond aussi à la chaîne vide. |
.* | Tout caractère 0 ou n fois, cad tout, n'importe quelle suite de caractères. C'est comme un wildcard | |
+ | Répète le caractère précédent une ou plusieurs fois |
Est équivalent à {1,} cad 1 ou plusieurs répétitions a+ correspond à a, aa, aaa, etc. |
^ |
Début de la chaîne, l'ancrage du début Sert aussi de négation pour une classe. Voir sur datacadamia.com our plus bas avec [^ ] |
^a correspond à une chaîne qui commence par a |
$ | Fin de la chaîne ou ancrage de fin | a$ correspond à une chaîne qui se termine par a. |
( ) | Regroupe plusieurs caractères en une seule entité, et conserve une correspondance à des fins d'utilisation dans une référence arrière. |
(ab)+ correspond à ababab le + s'applique au groupe (ab). |
(?!) | (?!) est un lookahead négatif. lookahead veut dire qui vient après, et le lookahead négatif veut dire qui ne vient pas après |
Parmis ces 3 phrases, le regex (Robert va)(?!mal) ne sélectionnera pas Robert va mal :
|
/(robert|bob)/ | Affiche les lignes qui contiennent robert ou bob | |
[ ] | Une classe de caractères - correspond à un des caractères de la classe | c[uoa]t correspond à cut, cot ou cat. |
[^ ] | Négation de la classe de caractères - correspond à tout caractère ne faisant pas partie de la classe | c[^/]t correspond à cat ou c=t mais pas à c/t |
^[^] | Négation d'une classe de caractères qui commence par | ^[^#;] correspond à tout ce qui ne commence pas par # ou ; |
\w | Ensemble préconçu pour les mots [a-zA-Z0-9_] cad tout chiffre ou lettre et underscore. L'inverse est \W | |
\d | Ensemble préconçu pour [0-9] cad tous les chiffres. L'inverse est \D | |
\s |
Ensemble préconçu pour tous les symboles d'espacement, ce qui comprend espace, tab, nouvelle ligne. L'inverse est \S Cela correspond à \t \n \r |
|
\t | Tabulation | |
\n | Nouvelle ligne | |
\r | Retour chariot | |
g | Global. Recherche globale. On ne s'arrête pas à un résultat. | Sur /we are/g la recherche va isoler les e |
i | Case insensitive matching. On ne fait pas la différence entre majuscules et minuscules. | |
m | Multi-line. La recherche ne s'arrête pas à la fin de la ligne. Elle couvre toutes les lignes. |
Ces caractères sont spéciaux. Pour les affichier, il faut au préalable les échaper avec \
[ \ ^ $ . | ? * + ( )
Ce site permet de tester son regex : https://www.regextester.com/
ainsi que https://regex101.com/
Pages Web
Site Web | Description |
---|---|
Class Pattern | A compiled representation of a regular expression |
lucaswillems.com | Tutoriel pour maîtriser les expressions régulières |
Buzut.net | Tutoriel pour maîtriser les expressions régulières |