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 |