Introduction aux expressions régulières en Python

Les bases de Regex, les motifs courants et des exemples pratiques de correspondance de motifs et de validation de données

Apprenez les bases des expressions régulières (regex) en Python. Ce tutoriel couvre les bases, les motifs courants et des exemples pratiques pour la recherche de motifs et la validation de données à l’aide du module re de Python.

Programmation
Auteur·rice
Affiliation
Date de publication

9 février 2024

Modifié

9 mai 2025

Mots clés

Expressions régulières en Python, Tutoriel sur les expressions régulières en Python, recherche de motifs en Python

Introduction

Les expressions régulières (regex) sont un outil puissant pour rechercher, faire correspondre et manipuler du texte à l’aide de motifs. Le module intégré de Python re fournit un support robuste pour les expressions régulières (regex), vous permettant d’effectuer des tâches de traitement de texte complexes de manière efficace. Dans ce tutoriel, nous allons couvrir les bases des expressions régulières, explorer les modèles courants et démontrer des exemples pratiques pour le filtrage et la validation des données.



Qu’est-ce qu’une expression régulière?

Les expressions régulières sont des séquences de caractères qui définissent un motif de recherche. Ils sont largement utilisés pour des tâches telles que:

  • Validation des entrées (par exemple, adresses électroniques, numéros de téléphone)
  • Recherche et extraction de motifs spécifiques dans un texte
  • Remplacement ou modification de sous-chaînes dans une chaîne plus large

Syntaxe et fonctions de base du module re de Python

Le module re de Python offre plusieurs fonctions clés:

  • re.search(): Recherche un motif n’importe où dans la chaîne.
  • re.match(): Vérifie la présence d’une correspondance uniquement au début de la chaîne.
  • re.findall(): Renvoie une liste de toutes les correspondances qui ne se chevauchent pas.
  • re.sub(): Remplace les occurrences d’un motif par une chaîne de caractères spécifiée.
  • re.split(): Divise une chaîne par les occurrences d’un motif.

Exemples pratiques

Recherche d’un motif

Utilise re.search() pour localiser un motif dans une chaîne de caractères:

#| label: regex-search
import re

text = "The quick brown fox jumps over the lazy dog."
pattern = r"fox"
match = re.search(pattern, text)
if match:
    print("Match found:", match.group())
else:
    print("No match found.")

Résultats:

Correspondance trouvée : fox

Trouver toutes les occurrences

Utilisez re.findall() pour extraire toutes les correspondances d’un motif:

#| label: regex-findall
import re

text = "apple, banana, cherry, apple, banana"
pattern = r"apple"
matches = re.findall(pattern, text)
print("All matches:", matches)

Résultats:

Toutes les correspondances : ['apple', 'apple']

Remplacement des motifs

Utilisez re.sub() pour remplacer les motifs trouvés par une nouvelle chaîne de caractères:

#| label: regex-sub
import re

text = "The price is $100. The discount price is $80."
pattern = r"\$\d+"
new_text = re.sub(pattern, "REDACTED", text)
print("Updated text:", new_text)

Résultats:

Texte mis à jour : Le prix est EXPURGÉ. Le prix de la remise est EXPURGÉ.

Utilisation de groupes pour l’extraction

Les groupes permettent d’extraire des parties spécifiques d’un motif:

#| label: regex-groups
import re

text = "My email is alice@example.com."
pattern = r"(\w+)@(\w+\.\w+)"
match = re.search(pattern, text)
if match:
    username, domain = match.groups()
    print("Username:", username)
    print("Domain:", domain)

Résultats:

Nom d'utilisateur : alice
Domaine : exemple.com

Conseils et bonnes pratiques

  • Rester simple:
    Commencez par des motifs simples et augmentez progressivement la complexité. Les expressions rationnelles trop complexes peuvent être difficiles à lire et à gérer.

  • Testez vos motifs:
    Utilisez des outils en ligne tels que regex101.com pour tester et déboguer vos expressions régulières de manière interactive.

  • Documentez votre Regex:
    Lorsque vous écrivez des motifs complexes, ajoutez des commentaires ou divisez-les en plusieurs parties pour plus de clarté.

  • Utiliser des chaînes brutes:
    Prefix regex patterns with r to avoid issues with escape sequences (e.g., r'\d+').

Conclusion

Les expressions régulières sont un outil indispensable pour le traitement de texte en Python. En maîtrisant les bases et en expérimentant avec des exemples pratiques, vous pouvez valider efficacement les entrées, extraire des données significatives et transformer le texte pour répondre à vos besoins. Avec un peu de pratique, vous découvrirez que les expressions régulières peuvent simplifier considérablement de nombreuses tâches courantes de traitement de texte.

Plus d’informations

Bon codage et bonne exploitation de la puissance des expressions régulières en Python!

Explorer d’autres articles

Note

Voici d’autres articles de la même catégorie pour vous aider à approfondir le sujet.

placeholder

placeholder
Aucun article correspondant
Retour au sommet

Réutilisation

Citation

BibTeX
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Introduction aux expressions régulières en Python},
  date = {2024-02-09},
  url = {https://www.datanovia.com/fr/learn/programming/python/additional-tutorials/regex.html},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
Kassambara, Alboukadel. 2024. “Introduction aux expressions régulières en Python.” February 9, 2024. https://www.datanovia.com/fr/learn/programming/python/additional-tutorials/regex.html.