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 firstre.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()) # 6re.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")) # Nonesearch vs match
Der entscheidende Unterschied:
match— das Muster muss an Index 0 beginnensearch— 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 Kleinschreibungre.MULTILINE—^/$stimmen in jeder Zeile übereinre.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 Anfangre.findall— Liste aller Treffer (Gruppen ändern die Ausgabe)re.finditer— Match-Objekte mit Positionenre.sub— Treffer ersetzen, mit Rückverweisen oder einer Funktionre.compileund 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
- Regex-Muster und Zeichenklassen
- Modul re: search, match, findall, sub
- Capturing Groups und Named Groups
- Textbereinigung für KI mit Regex