0Pricing
Python Academy · Leçon

Groupes et captures nommées

Extrayez des données avec des groupes de capture et la syntaxe des groupes nommés.

Groupes et captures nommées est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 3 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

Les groupes de capture extraient des parties précises d'une correspondance. Les groupes nommés rendent les données extraites explicites.

Groupe de capture de base

Les parenthèses () créent un groupe de capture. m.group(1) renvoie la correspondance du premier groupe.
import re
m = re.search(r'(\d{4})-(\d{2})-(\d{2})', '2024-01-15')
if m: print(m.group(1), m.group(2), m.group(3))

m.groups()

m.groups() renvoie tous les groupes de capture sous forme de tuple.
import re
m = re.search(r'(\w+)@(\w+)\.(\w+)', 'user@example.com')
if m: print(m.groups())

Groupes nommés

(?Ppattern) crée un groupe nommé. Accédez-y avec m.group('name') ou m.groupdict().
import re
m = re.search(
    r'(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})',
    '2024-01-15'
)
if m: print(m.groupdict())

Groupes sans capture

(?:pattern) regroupe des éléments sans effectuer de capture. C'est utile lorsque vous avez besoin d'un regroupement pour les quantificateurs, mais pas de la correspondance elle-même.
import re
print(re.findall(r'(?:cat|dog)s?', 'cats dogs cat dog'))

Références arrières

\1 dans un modèle fait référence à ce à quoi le groupe 1 a correspondu. C'est utile pour trouver des mots répétés.
import re
# Match repeated words
m = re.search(r'\b(\w+)\s+\1\b', 'the the quick brown', re.IGNORECASE)
if m: print('repeated:', m.group())

findall avec des groupes

Lorsque le modèle contient des groupes, findall renvoie une liste de tuples de groupes, et non les correspondances complètes.
import re
result = re.findall(r'(\w+)=(\w+)', 'x=1 y=2 z=3')
print(result)

Utiliser des groupes dans re.sub()

Dans re.sub(), \1 ou \g insère les groupes capturés dans la chaîne de remplacement.
import re
result = re.sub(r'(\w+)\s(\w+)', r'\2 \1', 'John Smith')
print(result)

Anticipation (?= )

(?=expr) est une anticipation positive : elle correspond à la position où expr suit, sans le consommer.
import re
# Prices followed by USD
print(re.findall(r'\d+(?= USD)', '100 USD 200 EUR 300 USD'))

Rétrospection (?<= )

(?<=expr) est une rétrospection positive : elle correspond à une position précédée par expr, sans le consommer.
import re
print(re.findall(r'(?<=\$)\d+', 'paid $100 and $200'))

Référence arrière nommée

(?P=name) dans le modèle fait référence à la valeur d'un groupe nommé. C'est utile pour faire correspondre des balises fermantes.
import re
m = re.search(r'<(?P<tag>\w+)>.*?</(?P=tag)>', '<b>hello</b>')
if m: print(m.group())

Vérification rapide

Comment accéder, depuis un objet de correspondance m, à un groupe de capture nommé 'year' ?

Récapitulatif

Les groupes () capturent des parties. m.group(1), m.groups(), m.groupdict(). Groupes nommés : (?P). Sans capture : (?:). Références arrières : \1 ou \g dans les remplacements.

Continuez

Excellent travail ! La prochaine leçon vous attend.

Questions Fréquemment Posées

La leçon « Groupes et captures nommées » est-elle gratuite ?

Oui — le texte complet de « Groupes et captures nommées » 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 « Groupes et captures nommées » ?

Extrayez des données avec des groupes de capture et la syntaxe des groupes nommés. 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 3 sur 4.

Combien de temps prend la leçon « Groupes et captures nommées » ?

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