Python Academy · Lektion

Gruppen und benannte Captures

Extrahieren Sie Daten mit Capturing-Gruppen und der Syntax für benannte Gruppen.

Lektion 3 von 414 Schritte

Gruppen und benannte Captures ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Einführung

Mit Erfassungsgruppen lassen sich bestimmte Teile einer Übereinstimmung extrahieren. Benannte Gruppen machen die extrahierten Daten selbstdokumentierend.

Einfache Erfassungsgruppe

Klammern () erstellen eine Erfassungsgruppe. m.group(1) gibt die Übereinstimmung der ersten Gruppe zurück.
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() gibt alle Erfassungsgruppen als Tupel zurück.
import re
m = re.search(r'(\w+)@(\w+)\.(\w+)', 'user@example.com')
if m: print(m.groups())

Benannte Gruppen

(?Ppattern) erstellt eine benannte Gruppe. Greifen Sie mit m.group('name') oder m.groupdict() darauf zu.
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())

Nicht erfassende Gruppen

(?:pattern) gruppiert ohne zu erfassen. Das ist nützlich, wenn Sie eine Gruppierung für Quantifizierer benötigen, die Übereinstimmung aber nicht brauchen.
import re
print(re.findall(r'(?:cat|dog)s?', 'cats dogs cat dog'))

Rückverweise

\1 innerhalb eines Musters verweist auf die Übereinstimmung von Gruppe 1. Das ist nützlich, um wiederholte Wörter zu finden.
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 mit Gruppen

Enthält das Muster Gruppen, gibt findall eine Liste von Gruppentupeln statt vollständiger Übereinstimmungen zurück.
import re
result = re.findall(r'(\w+)=(\w+)', 'x=1 y=2 z=3')
print(result)

Gruppen in re.sub() verwenden

In re.sub() fügt \1 oder \g erfasste Gruppen in die Ersetzungszeichenfolge ein.
import re
result = re.sub(r'(\w+)\s(\w+)', r'\2 \1', 'John Smith')
print(result)

Lookahead (?= )

(?=expr) ist ein positiver Lookahead – er findet eine Position, an der expr folgt, ohne Zeichen zu verbrauchen.
import re
# Prices followed by USD
print(re.findall(r'\d+(?= USD)', '100 USD 200 EUR 300 USD'))

Lookbehind (?<= )

(?<=expr) ist ein positiver Lookbehind – er findet eine Position, der expr vorausgeht, ohne Zeichen zu verbrauchen.
import re
print(re.findall(r'(?<=\$)\d+', 'paid $100 and $200'))

Benannter Rückverweis

(?P=name) im Muster verweist auf den Wert einer benannten Gruppe. Das ist nützlich, um schließende Tags zu finden.
import re
m = re.search(r'<(?P<tag>\w+)>.*?</(?P=tag)>', '<b>hello</b>')
if m: print(m.group())

Kurzer Test

Wie greifen Sie in einem Match-Objekt m auf eine benannte Erfassungsgruppe mit dem Namen 'year' zu?

Zusammenfassung

Gruppen () erfassen Teile. m.group(1), m.groups(), m.groupdict(). Benannt: (?P). Nicht erfassend: (?:). Rückverweise: \1 oder \g in Ersetzungen.

Weiter

Sehr gute Arbeit! Die nächste Lektion wartet bereits.
Kostenlos starten

Lerne Python mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
76
Lektionen
320

Häufig gestellte Fragen

Ist die Lektion „Gruppen und benannte Captures“ kostenlos?

Ja — der vollständige Text von „Gruppen und benannte Captures“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Gruppen und benannte Captures“?

Extrahieren Sie Daten mit Capturing-Gruppen und der Syntax für benannte Gruppen. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Gruppen und benannte Captures“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen regulärer Ausdrücke
  2. re.match, re.search und re.findall verwenden
  3. Gruppen und benannte Captures
  4. re.sub, Flags und kompilierte Muster
← Zurück zu Python Academy