Comment utiliser les expressions régulières en Python ?

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction aux expressions régulières en Python

Le traitement de texte est l'une des tâches les plus courantes en programmation. Les expressions régulières deviennent un outil indispensable pour résoudre divers problèmes : parsing de pages HTML, validation de formats de données ou traitement de logs.

En Python, le module intégré re est utilisé pour travailler avec les expressions régulières. Dans ce guide, nous allons explorer en détail l'utilisation des expressions régulières en Python. Nous aborderons des méthodes populaires comme re.search() et re.sub(), et montrerons leur application pratique avec des exemples concrets.

Les bases des expressions régulières

Définition et objectif

Les expressions régulières (Regular Expressions ou RegEx) sont un langage spécialisé pour décrire des motifs de recherche dans le texte. Elles permettent d'effectuer des recherches, des validations et des remplacements de fragments textuels selon des règles précises.

Tâches typiques pour les expressions régulières

Les expressions régulières en Python résolvent un large éventail de problèmes :

  • Validation d'adresses email et de numéros de téléphone
  • Recherche de toutes les valeurs numériques dans un texte
  • Remplacement de caractères indésirables et nettoyage de données
  • Extraction de mots ou phrases spécifiques dans de grands textes
  • Parsing de données structurées
  • Traitement de logs et de fichiers système

Préparation au travail

Importation du module re

Avant de commencer à utiliser les expressions régulières, vous devez importer le module dédié :

import re

Symboles et constructions de base

Pour travailler efficacement avec les expressions régulières, il est essentiel de connaître les symboles de base et leur signification :

Symbole Signification
. N'importe quel caractère, sauf saut de ligne
\d N'importe quel chiffre (0-9)
\D N'importe quel caractère non numérique
\w Lettre, chiffre ou tiret bas
\W Tout caractère sauf \w
\s Espace, tabulation, saut de ligne
\S Tout caractère sauf les espaces
^ Début de ligne
$ Fin de ligne
[] Caractère parmi un ensemble défini
* Zéro ou plusieurs répétitions
+ Une ou plusieurs répétitions
{n,m} De n à m répétitions

Méthodes principales pour travailler avec les expressions régulières

Méthode re.search() pour trouver la première correspondance

La méthode re.search() recherche la première occurrence d'un motif donné dans une chaîne. Elle retourne un objet Match en cas de succès, ou None si aucune correspondance n'est trouvée.

import re

text = "Email : exemple@mail.com"
match = re.search(r'\w+@\w+\.\w+', text)

if match:
    print("Email trouvé :", match.group())

Résultat de l'exécution :

Email trouvé : exemple@mail.com

Explication du motif de recherche

Décortiquons le motif utilisé :

  • \w+ — une ou plusieurs lettres, chiffres ou tirets bas
  • @ — le symbole arobase (élément obligatoire d'un email)
  • \. — un point (échappé avec un antislash)
  • \w+ — le domaine de premier niveau

Méthode re.findall() pour trouver toutes les correspondances

Lorsque vous devez trouver toutes les occurrences d'un motif dans un texte, utilisez la méthode findall(). Elle retourne une liste de toutes les correspondances trouvées.

text = "Prix : 100 euros, 250 euros, 350 euros"
numbers = re.findall(r'\d+', text)
print(numbers)  # ['100', '250', '350']

Méthode re.sub() pour remplacer selon un motif

La méthode re.sub() remplace toutes les occurrences d'un motif donné par une chaîne de remplacement.

Blogs

Book Recommendations