Aide-mémoire des regex / regexp
Voici un rapide survol des métacaractères, des classes, intervalles de reconnaissance, etc...
| Les métacaractères / ancres |
- ^ accent circonflexe
marque le début d'une chaîne(voir classe aussi)
- $ dollar
marque la fin d'une chaîne
Memo: ^chat$ reconnaît chat seul ^$ reconnaît chaîne vide ^ début de chaîne $ fin de chaîne |
| L'alternative |
- | barre verticale
marque l'alternative
Memo: L[y|i]s reconnaît Lys ou Lis ^(De|Sujet|Date):@ reconnaît tout ce qui commence par De:@ ou Sujet:@ ou Date:@ |
| Les quantificateurs |
- ? point d'interrogation
Facultatif zéro ou une occurence
- * étoile
Facultatif zéro, une ou plusieurs occurences
- + signe plus
Obligatoire une ou plusieurs occurences
- {x}accolade + nombre
Obligatoire restrictif doit apparaître exactement x fois
- {x,}accolade + nombre
Obligatoire non restrictif doit apparaître au moins x fois
- {x,y}accolade + nombre
Obligatoire restrictf doit apparaître exactement x fois et maximum y fois
Memo: a? reconnaît 0 ou 1 a a* reconnaît 0 ou plusieurs a a+ reconnaît 1 ou plusieurs a |
|
| Les classes de caractères |
- [ ] les crochets
indique une classe
- - le tiret
indique l'intervalle dans une classe
Memo: [a-z] reconnaît les lettres de a à z [Yy]ves un mot avec ou sans majuscule <h[1-6]> une balise de titre par exemple |
| La classe complémentée |
- [^... ] au lieu de [...]
indique une classe complémentée reconnaît tout caractère qui n'est pas énuméré
Memo: [^0-9] reconnaît tout ce qui n'est pas des chiffres [^1-6] reconnaît tout sauf les chiffres de 1 à 6 Rappel : l'accent circonflexe est un métacaratère à l'intérieur de la
classe. A l'extérieur, c'est une ancre qui signifie le début de... |
| Le tiret |
- - indique un intervalle dans une classe [0-9]
Rappel: Le tiret est un métacaractère à l'intérieur d'une classe à condition qui exprime bien un intervalle. Pour
utiliser le tiret en tant que litéral à l'intérieur d'une classe, soit
le placer au début, soit en fin de classe [-0-9] ou [0-9-] A l'extérieur d'une classe le tiret est un caractère normal.
|
| Les parenthèses |
- ( ) encadrer les instructions
capture de sous-chaînes
Rappel:les
parenthèses en dehors de leur fonction d'encadrer les instructions,
permettent la capture de la partie de sous-chaîne définie et
satisfaisant le motf.
|
|