Aide-mémoire des expressions régulières ( regex / regexp ):
Voici un rapide mémoire des métacaractères, des classes, intervalles de reconnaissance utilisés dans les expressions régulière dans php et dans d'autres langages de programmation:
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'alternativeMemo:
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:
[a-z] reconnaît les lettres de a à z
[Yy]ves un mot avec ou sans majuscule
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.
Aucun commentaire:
Enregistrer un commentaire