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