0Pricing
Python Academy · Leçon

Utiliser re.match, re.search et re.findall

Appliquez les fonctions essentielles de re pour trouver des motifs dans des chaînes.

Utiliser re.match, re.search et re.findall est une leçon Python Academy 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 Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.

Introduction

Le module re fournit plusieurs fonctions pour appliquer des modèles à des chaînes.

re.match() — Début de la chaîne

re.match(pattern, string) recherche une correspondance uniquement au BEGINNING de la chaîne. La fonction renvoie un objet de correspondance ou None.
import re
print(re.match(r'\d+', '123abc'))  # match
print(re.match(r'\d+', 'abc123'))  # None

re.search() — N'importe où

re.search(pattern, string) trouve la FIRST correspondance n'importe où dans la chaîne. La fonction renvoie Match ou None.
import re
m = re.search(r'\d+', 'abc 123 def')
if m: print(m.group())

re.findall() — Toutes les correspondances

re.findall(pattern, string) renvoie une liste de toutes les correspondances non chevauchantes sous forme de chaînes.
import re
print(re.findall(r'\d+', 'one 1 two 22 three 333'))

re.finditer() — Itérateur

re.finditer() fonctionne comme findall(), mais renvoie un itérateur d'objets de correspondance — ce qui économise la mémoire pour les grandes chaînes.
import re
for m in re.finditer(r'\d+', 'x1 y22 z333'):
    print(m.group(), m.start(), m.end())

Méthodes des objets de correspondance

m.group() renvoie la chaîne correspondante. m.start() et m.end() renvoient les positions. m.span() renvoie (start, end).
import re
m = re.search(r'(\w+)@(\w+)', 'send to user@example')
if m:
    print(m.group(), m.group(1), m.group(2))

re.fullmatch()

re.fullmatch(pattern, string) exige que le modèle corresponde à la chaîne ENTIRE.
import re
print(re.fullmatch(r'\d+', '123'))    # match
print(re.fullmatch(r'\d+', '123abc'))  # None

re.split()

re.split(r'\s+', string) découpe selon le modèle. r'[,;\s]+' découpe au niveau des virgules, des points-virgules et des espaces.
import re
print(re.split(r'[,;\s]+', 'one,two; three four'))

re.sub() pour le remplacement

re.sub(pattern, repl, string) remplace les correspondances. repl peut être une chaîne ou une fonction.
import re
print(re.sub(r'\d+', 'NUM', 'I have 3 cats and 12 dogs'))

Modèles compilés

pattern = re.compile(r'\d+') compile le modèle une seule fois. Utilisez pattern.findall(), .search(), etc. — c'est plus rapide lors d'utilisations répétées.
import re
digits = re.compile(r'\d+')
print(digits.findall('abc 123 def 456'))

Drapeaux

re.IGNORECASE (re.I), re.MULTILINE (re.M) et re.DOTALL (re.S) modifient le comportement des correspondances.
import re
print(re.findall(r'hello', 'HELLO World', re.IGNORECASE))

Vérification rapide

Quelle est la différence entre re.match() et re.search() ?

Récapitulatif

re.match (début uniquement), re.search (première correspondance n'importe où), re.findall (toutes sous forme de liste), re.finditer (toutes sous forme d'objets Match), re.sub (remplacer), re.compile (réutiliser le modèle).

Continuez

Excellent travail ! La prochaine leçon vous attend.

Questions Fréquemment Posées

La leçon « Utiliser re.match, re.search et re.findall » est-elle gratuite ?

Oui — le texte complet de « Utiliser re.match, re.search et re.findall » 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 Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Utiliser re.match, re.search et re.findall » ?

Appliquez les fonctions essentielles de re pour trouver des motifs dans des chaînes. Tu pratiques Python Academy 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 Python Academy ?

Aucune expérience préalable n'est requise. Python Academy 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 « Utiliser re.match, re.search et re.findall » ?

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 Python Academy ?

Oui. Chaque leçon Python Academy 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. Fondamentaux des expressions régulières
  2. Utiliser re.match, re.search et re.findall
  3. Groupes et captures nommées
  4. re.sub, indicateurs et motifs compilés
← Retour à Python Academy