Les expressions régulières
Déclarations
Utilisables en l'état avec Python, sans doute avec d'autres technologies.
\d : match n'importe quel chiffre
[…] : match l'un des caractères exactement
[abc] match a, b ou c
[A-Z] match n'importe quelle lettre majuscule
[A-Za-z] match n'importe quelle lettre, majuscule ou minuscule
{n} répète n fois la séquence
[A-Z]{3} match n'importe quelle séquence de 3 lettres majuscules consécutives
[A-Z]{2-4} match n'importe quelle séquence de 2 à 3 lettres majuscules consécutives
[A-Z]{2,} match n'importe quelle séquence à partir de 2 lettres majuscules consécutives
+ match l'élément marqué une fois ou plus, équivalent à {1,}
* match l'élément marqué 0 fois ou plus, équivalent à {0,}
? match l'élément marqué 0 ou 1 foisfois ou plus, équivalent à {0,1}
(…) permet d'accéder au différents objets matchés
(?P<name>EXPRESSION) nomme le groupe matché, (?P=name) permet de s'y référer
Exemples
Numéro de téléphone
Peut prendre les formes suivantes:
0X XX XX XX XX
0XXXXXXXXX
0X-XX-XX-XX-XX
0X/XX/XX/XX/XX
→ 0 pour commencer, puis un chiffre, puis 4 séries de 2 chiffres séparés ou non par un caractère de délimitation (. ou ESPACE ou -)
^0[0-9]([ .-]?[0-9]{2}){4}$
^ → l'expression doit être au début de la chaîne
$ → l'expression doit être en fin de chaîne
^EXPRESSION$ → la chaîne ne doit contenir que l'expression
Premier 0 → le premier caractère doit être un 0
Classe [0-9] → le caractère suivant doit être compris entre 0 et 9
([ .-]?[0-9]{2}) → Groupe
Classe [ .-] → doit être un ESPACE ou un point ou un tiret
? → La classe précédente est optionnelle
[0-9]{2} → deux chiffres entre 0 et 9 sont attendus
{4} → Le groupe précédent doit être présente 4 fois
(source SdZ)
URL pour Django
Explications pour le tutoriel Django
url(r'^polls/', include('polls.urls')),
url(r'^admin/', include(admin.site.urls)),
Les deux expressions ont le même format