0Pricing
Learn AI with Python · Lektion

Modul re: search, match, findall, sub

re.search(), re.match(), re.findall(), re.sub() und re.compile() für bessere Performance.

Modul re: search, match, findall, sub ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 2 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.

Das Modul re

Python stellt reguläre Ausdrücke über das integrierte re-Modul bereit. Die zentralen Funktionen sind search, match, findall und sub.

Zu wissen, welche Funktion Sie wählen sollten, ist bereits die halbe Arbeit.

import re   # always import it first

re.search – Überall suchen

re.search(pattern, text) durchsucht die gesamte Zeichenkette nach dem ersten Treffer und gibt ein Match-Objekt zurück oder None, wenn nichts gefunden wird.

import re

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

re.match – Am Anfang verankert

re.match findet nur am Anfang der Zeichenkette eine Übereinstimmung. Wenn das Muster nicht an Position 0 steht, wird None zurückgegeben, selbst wenn es später vorkommt.

import re

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

search vs match

Der entscheidende Unterschied:

  • match — das Muster muss an Index 0 beginnen
  • search — das Muster kann überall vorkommen

Meistens benötigen Sie search. Verwenden Sie match nur, wenn Sie ausdrücklich eine Präfixprüfung benötigen.

re.findall – Jeden Treffer abrufen

re.findall gibt eine Liste aller nicht überlappenden Treffer als Zeichenfolgen zurück (keine Match-Objekte). Ideal für Extraktionsaufgaben.

import re

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

findall mit Gruppen

Wenn Ihr Muster Capturing-Gruppen enthält, gibt findall statt des gesamten Treffers die erfassten Teile zurück – eine häufige Überraschung.

Hier enthält jedes Tupel die Vorwahl und den Rest.

import re

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

re.finditer – Match-Objekte

Wenn Sie Positionen oder Gruppen für jeden Treffer benötigen, verwenden Sie re.finditer. Die Funktion liefert Match-Objekte, die Sie bei Bedarf iterieren können.

import re

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

re.sub – Suchen und Ersetzen

re.sub(pattern, replacement, text) ersetzt jeden Treffer durch die Ersetzungszeichenfolge und gibt eine neue Zeichenkette zurück.

Grundlegend für die Textbereinigung – Maskieren, Normalisieren und Entfernen.

import re

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

sub mit Rückverweisen und Funktionen

Die Ersetzung kann mit \1 auf erfasste Gruppen verweisen oder eine Funktion für dynamische Logik sein.

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 – Muster wiederverwenden

Wenn Sie ein Muster häufig verwenden (z. B. in einer Schleife), erstellt re.compile es einmal als wiederverwendbares Musterobjekt. Das ist schneller und besser lesbar.

import re

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

Nützliche Flags

Flags ändern das Verhalten beim Abgleich:

  • re.IGNORECASE — ohne Beachtung der Groß- und Kleinschreibung
  • re.MULTILINE — ^/$ stimmen in jeder Zeile überein
  • re.DOTALL — . entspricht auch Zeilenumbrüchen
import re

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

Schnelltest: search vs findall

Sie benötigen eine Liste aller Telefonnummern, die irgendwo in einem Dokument vorkommen.

Rückblick: Das Modul re

Sie kennen nun die zentralen Regex-Funktionen:

  • re.search — erster Treffer irgendwo (Match-Objekt)
  • re.match — Übereinstimmung nur am Anfang
  • re.findall — Liste aller Treffer (Gruppen ändern die Ausgabe)
  • re.finditer — Match-Objekte mit Positionen
  • re.sub — Treffer ersetzen, mit Rückverweisen oder einer Funktion
  • re.compile und Flags zur Wiederverwendung und Steuerung

Als Nächstes: erfassende Gruppen und benannte Gruppen.

Häufig gestellte Fragen

Ist die Lektion „Modul re: search, match, findall, sub“ kostenlos?

Ja — der vollständige Text von „Modul re: search, match, findall, sub“ 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 „Modul re: search, match, findall, sub“?

re.search(), re.match(), re.findall(), re.sub() und re.compile() für bessere Performance. 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 2 von 4.

Wie lange dauert die Lektion „Modul re: search, match, findall, sub“?

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