Les expressions régulières sont un moyen puissant et
standardisé de rechercher, remplacer et analyser du
texte à l’aide de motifs complexes de caractères. Si vous avez utilisé
les expressions régulières dans d’autres langages (comme
Perl), vous pouvez sauter cette section et
lire uniquement la présentation du module re pour avoir une vue
d’ensemble des fonctions disponibles et de leurs arguments.
Les objets-chaîne Strings ont des méthodes pour rechercher
(index, find et
count), remplacer (replace) et
analyser (split) mais elles sont limitées aux cas
les plus simples. Les méthodes de recherche tentent de trouver une
chaîne unique et prédéfinie et elles sont toujours sensibles à la
casse. Pour faire une recherche non sensible à la casse sur une chaîne
s, vous devez appeler s.lower()
ou s.upper() et vous assurer que vos chaînes de
recherche sont dans la casse correspondante. Les méthodes
replace et split ont les mêmes
restrictions.
Si ce que vous essayez de faire peut être accompli avec les fonctions de chaînes, utilisez-les. Elles sont rapides et faciles
à comprendre et il y a beaucoup d'avantages à un code rapide, simple et lisible. Mais si vous vous rendez compte que vous
utilisez un grand nombre de fonctions de chaînes différentes avec des instruction if pour les cas particulier, ou si vous les associez à des fonctions split et join et à des list comprehension de manière complexe et illisible, vous devez vous tourner vers les expressions régulières.
Bien que la syntaxe des expressions régulières soit compacte et différente du code ordinaire, le résultat peut être plus lisible qu’une solution à la main avec une longue séquence de fonctions de chaînes. Il y a même une manière d’inclure des
commentaires dans les expressions régulières pour les documenter.