0Pricing
Learn AI with Python · Leçon

Module re : recherche, correspondance, extraction et remplacement

re.search(), re.match(), re.findall(), re.sub(), re.compile() pour améliorer les performances.

Module re : recherche, correspondance, extraction et remplacement est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Le module re

Python fournit les expressions régulières via le module intégré re. Les fonctions principales sont search, match, findall et sub.

Savoir laquelle choisir représente déjà la moitié du travail.

import re   # always import it first

re.search — trouver n’importe où

re.search(pattern, text) parcourt la chaîne entière à la recherche de la première correspondance et renvoie un objet de correspondance, ou None si rien ne correspond.

import re

m = re.search("\d+", "order 42 shipped")
if m:
    print(m.group())   # "42"
    print(m.start())   # 6

re.match — ancré au début

re.match ne recherche une correspondance qu’au début de la chaîne. Si le motif ne se trouve pas à la position 0, la fonction renvoie None, même s’il apparaît plus loin.

import re

print(re.match("\d+", "42 items"))    # matches "42"
print(re.match("\d+", "items 42"))    # None

search et match

La différence essentielle :

  • match — le motif doit commencer à l’index 0
  • search — le motif peut apparaître n’importe où

La plupart du temps, vous voudrez utiliser search. Utilisez match uniquement lorsque vous devez vérifier spécifiquement un préfixe.

re.findall — obtenir toutes les correspondances

re.findall renvoie une liste de toutes les correspondances non chevauchantes sous forme de chaînes, et non d’objets de correspondance. C’est idéal pour les tâches d’extraction.

import re

emails = re.findall("\w+@\w+\.\w+", "a@x.com and b@y.org")
print(emails)   # ["a@x.com", "b@y.org"]

findall avec des groupes

Si votre motif contient des groupes de capture, findall renvoie les parties capturées au lieu de la correspondance entière — une source fréquente de surprise.

Ici, chaque n-uplet contient l’indicatif régional et le reste du numéro.

import re

print(re.findall("(\d{3})-(\d{4})", "555-1234 and 999-8765"))
# [("555", "1234"), ("999", "8765")]

re.finditer — objets de correspondance

Lorsque vous avez besoin des positions ou des groupes de chaque correspondance, utilisez re.finditer. Cette fonction produit des objets de correspondance que vous pouvez parcourir progressivement.

import re

for m in re.finditer("\d+", "a1 b22 c333"):
    print(m.group(), "at", m.start())

re.sub — rechercher et remplacer

re.sub(pattern, replacement, text) remplace chaque correspondance par la chaîne de remplacement et renvoie une nouvelle chaîne.

Cette fonction est essentielle au nettoyage du texte : masquage, normalisation et suppression.

import re

clean = re.sub("\d+", "#", "Room 101 and 202")
print(clean)   # "Room # and #"

sub avec des références arrière et des fonctions

Le remplacement peut faire référence aux groupes capturés avec \1, ou être une fonction permettant d’appliquer une logique dynamique.

import re

# Swap "first last" -> "last, first"
print(re.sub("(\w+) (\w+)", "\\2, \\1", "Ada Lovelace"))

# Function replacement: double each number
print(re.sub("\d+", lambda m: str(int(m.group()) * 2), "a1 b2"))

re.compile — réutiliser les motifs

Lorsque vous utilisez souvent un motif, par exemple dans une boucle, re.compile le construit une seule fois sous forme d’objet de motif réutilisable. L’exécution est ainsi plus rapide et le code plus lisible.

import re

num = re.compile("\d+")
for line in ["a1", "b22", "c333"]:
    print(num.findall(line))

Indicateurs utiles

Les indicateurs modifient le comportement de la recherche :

  • re.IGNORECASE — insensible à la casse
  • re.MULTILINE — ^/$ correspondent à chaque ligne
  • re.DOTALL — . correspond également aux sauts de ligne
import re

print(re.findall("cat", "Cat CAT cat", re.IGNORECASE))
# ["Cat", "CAT", "cat"]

Vérification rapide : search et findall

Vous avez besoin d’une liste de tous les numéros de téléphone qui apparaissent n’importe où dans un document.

Récapitulatif : le module re

Vous connaissez maintenant les principales fonctions d’expressions régulières :

  • re.search — première correspondance n’importe où (objet de correspondance)
  • re.match — correspondance uniquement au début
  • re.findall — liste de toutes les correspondances (les groupes modifient le résultat)
  • re.finditer — objets de correspondance avec leurs positions
  • re.sub — remplacer les correspondances, avec des références arrière ou une fonction
  • re.compile et les indicateurs pour réutiliser les motifs et contrôler la recherche

Ensuite : les groupes de capture et les groupes nommés.

Questions Fréquemment Posées

La leçon « Module re : recherche, correspondance, extraction et remplacement » est-elle gratuite ?

Oui — le texte complet de « Module re : recherche, correspondance, extraction et remplacement » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Module re : recherche, correspondance, extraction et remplacement » ?

re.search(), re.match(), re.findall(), re.sub(), re.compile() pour améliorer les performances. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Module re : recherche, correspondance, extraction et remplacement » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Motifs d’expressions régulières et classes de caractères
  2. Module re : recherche, correspondance, extraction et remplacement
  3. Groupes capturants et groupes nommés
  4. Nettoyer le texte pour l’IA avec les expressions régulières
← Retour à Learn AI with Python