4.2 re --- Opérations sur les expressions régulières

Ce module fournit des opérations sur les expressions régulières similaires à celles que l'on trouve dans Perl. Les chaines de caractères de motifs d' expressions régulières ne peuvent pas contenir d'octets nuls, mais peuvent spécifier un octet nul en utilisant la notation \number. Les motifs et les chaines de caractères à chercher peuvent etre des chaines de caractères Unicode ou des chaines de caractères 8-bit. Le module re est toujours disponible.

Les expressions régulières utilise la caractère anti-slash ("\") pour indiquer les formes spéciales ou pour autoriser l'utilisation de caractères spéciaux sans les interpréter. Cela heurte l'usage de Python de ces caractères pour les chaines de caractères littérales ; par exemple, pour trouver un littéral anti-slash, il faut écrire '\\\\' comme chaine de caractères motif, car l'expression régulière doît être "\\", et chaque anti-slash doit être représenter par "\\" à l'intérieur d'une chaine de caractères régulière en Python.

La solution est d'utiliser la notation brute des chaines de caractères de Python pour les expressions motifs ; Les anti-slash ne sont pas interprétés dans le cas particulier d'une chaine de caractères préfixée par "r". Ainsi r"\n" est une chaine de deux caractères contenant "\" et "n", alors que "\n" est une chaine d'un caractère contenant un saut de ligne. Habituellement, les motifs sont exprimés en Python en utilisant la notation des chaines de caractères brutes.

Note d'implémentation : Le module re a deux implémentations distinctes : sre est l'implémentation par défaut et inclut le support Unicode, mais peut tourner avec des limititations de piles pour certains motifs. Quoique cela sera fixé dans une future release de Python, l'ancienne implémentation (sans le support Unicode) est toujours disponible dans le module pre.


Sous-sections
  1. Syntaxe des Expressions régulières
  2. Matching vs. Searching
  3. Contenu du module
  4. Les Objets Expression Régulière
  5. Objets correspondant