0Pricing
Learn AI with Python · Lektion

Capturing Groups und Named Groups

Klammern zum Erfassen, benannte Gruppen mit (?P ...), re.fullmatch(), Lookahead und Lookbehind.

Capturing Groups und Named Groups ist eine kostenlose Learn AI with Python-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 Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Warum Gruppen?

Gruppen ermöglichen es Ihnen, Teile eines Treffers zu isolieren, damit Sie genau den gewünschten Abschnitt extrahieren können – die Vorwahl einer Telefonnummer, das Jahr aus einem Datum, den Benutzernamen aus einer E-Mail-Adresse.

Diese Lektion behandelt erfassende, benannte und nicht erfassende Gruppen sowie Lookarounds.

Erfassende Gruppen mit ( )

Setzen Sie einen Teil eines Musters in Klammern, um ihn zu erfassen. Der gesamte Treffer und jede Gruppe werden über das Match-Objekt zugänglich.

import re

m = re.search("(\d{4})-(\d{2})-(\d{2})", "Date: 2026-05-29")
print(m.group())    # "2026-05-29" (whole match)
print(m.group(1))   # "2026"
print(m.group(2))   # "05"

match.group, groups, groupdict

Nützliche Zugriffsmethoden:

  • m.group(0) — gesamter Treffer
  • m.group(n) — die n-te erfasste Gruppe
  • m.groups() — ein Tupel aller Erfassungen
import re

m = re.search("(\d{4})-(\d{2})-(\d{2})", "2026-05-29")
print(m.groups())   # ("2026", "05", "29")
year, month, day = m.groups()

Benannte Gruppen mit (?P<name>...)

Die Nummerierung von Gruppen wird schnell unübersichtlich. Benannte Gruppen verwenden (?P<name>...), sodass Sie auf Erfassungen über einen aussagekräftigen Namen verweisen.

import re

m = re.search("(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})", "2026-05-29")
print(m.group("year"))   # "2026"
print(m.group("month"))  # "05"

groupdict für strukturierte Ausgabe

m.groupdict() gibt alle benannten Gruppen als Dictionary zurück – ideal, um übereinstimmenden Text in strukturierte Datensätze umzuwandeln.

import re

m = re.search("(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})", "2026-05-29")
print(m.groupdict())
# {"year": "2026", "month": "05", "day": "29"}

Nicht erfassende Gruppen (?:...)

Manchmal benötigen Sie Klammern nur zur Gruppierung (z. B. um einen Quantifizierer anzuwenden), möchten aber KEINE Erfassung. Verwenden Sie (?:...).

So bleibt die Gruppennummerierung übersichtlich.

import re

# Group "ab" so + applies, but do not capture it
m = re.search("(?:ab)+(\d+)", "ababab42")
print(m.group(1))   # "42" -> group 1 is the digits, not "ab"

Rückverweise

Ein Rückverweis \1 entspricht demselben Text, den eine Gruppe zuvor erfasst hat. Nützlich, um wiederholte Wörter zu finden.

import re

# Find a word repeated twice in a row
print(re.findall("(\w+) \1", "the the cat cat sat"))
# ["the", "cat"]

Lookahead (?=...)

Ein positiver Lookahead (?=...) stellt fest, was folgen muss, ohne es zu konsumieren. Der festgestellte Text ist nicht Teil des Treffers.

Hier wird eine Zahl nur dann gefunden, wenn auf sie „px“ folgt.

import re

print(re.findall("\d+(?=px)", "10px 20em 30px"))
# ["10", "30"]  -> "20" skipped (not followed by px)

Negativer Lookahead (?!...)

Ein negativer Lookahead (?!...) stellt fest, was NICHT folgen darf. Die Zahl wird nur gefunden, wenn NICHT „px“ folgt.

import re

print(re.findall("\d+(?!px)", "10px 20em 30px"))
# matches numbers not followed directly by px

Lookbehind (?<=...) und (?<!...)

Ein Lookbehind stellt fest, was vor dem Treffer steht, ohne es zu konsumieren:

  • (?<=...) positiv — muss vorangestellt sein
  • (?<!...) negativ — darf NICHT vorangestellt sein

Hier werden Beträge gefunden, denen ein Dollarzeichen vorangestellt ist, ohne das Zeichen mitzuerfassen.

import re

print(re.findall("(?<=\$)\d+", "price $50 and 60 units"))
# ["50"]  -> only the amount after $

Gruppen und Lookarounds kombinieren

In der Praxis kombinieren Extraktoren diese Werkzeuge. Dieses Muster extrahiert einen benannten Preis, dem ein Währungssymbol vorangestellt sein muss und auf den ein Dezimalteil folgen muss:

import re

text = "Total: $1299.99 paid"
m = re.search("(?<=\$)(?P<amount>\d+)\.(?P<cents>\d{2})", text)
print(m.group("amount"), m.group("cents"))   # 1299 99

Kurztest: Benannte Gruppen

Sie möchten Treffer über einen lesbaren Namen wie „year“ statt über eine Nummer extrahieren.

Zusammenfassung: Gruppen und Lookarounds

Sie können jetzt präzise Strukturen aus Text extrahieren:

  • ( )-Gruppen zum Erfassen mit m.group(n) und m.groups()
  • Benannte Gruppen mit (?P<name>...) und m.groupdict()
  • (?:...)-Gruppen ohne Erfassung für übersichtliche Gruppierungen
  • Rückverweise \1 für Wiederholungen
  • Lookahead (?=)/(?!) und Lookbehind (?<=)/(?<!)

Als Nächstes setzen Sie alles zusammen, um Text für KI zu bereinigen.

Häufig gestellte Fragen

Ist die Lektion „Capturing Groups und Named Groups“ kostenlos?

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

Was lerne ich in „Capturing Groups und Named Groups“?

Klammern zum Erfassen, benannte Gruppen mit (?P ...), re.fullmatch(), Lookahead und Lookbehind. Du übst Learn AI with Python 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 Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python 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 „Capturing Groups und Named Groups“?

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 Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-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. Regex-Muster und Zeichenklassen
  2. Modul re: search, match, findall, sub
  3. Capturing Groups und Named Groups
  4. Textbereinigung für KI mit Regex
← Zurück zu Learn AI with Python