Outils pour utilisateurs

Outils du site


general:regular_expression

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
    • (\d)-(\d) match 11 et permet d'accéder séparément aux deux chiffres grâce à group(n) (n>=1)
  • (?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

general/regular_expression.txt · Dernière modification: 2016/10/17 13:56 (modification externe)