Python Regex: Mustervergleich mit dem re-Modul
Beherrschen Sie reguläre Ausdrücke (Regex) in Python. Erfahren Sie, wie Sie mithilfe der integrierten Re-Bibliothek Zeichenfolgendaten suchen, abgleichen, aufteilen und ersetzen.
Übersicht
Reguläre Ausdrücke (oft als Regex abgekürzt) sind eine Minisprache, die für die erweiterte Textsuche, den String-Abgleich und die Manipulation verwendet wird. Anstatt einfache Zeichenfolgenwerte zu überprüfen, können Sie mit Regex komplexe Muster definieren, nach denen in umfangreichen Textkörpern gesucht werden soll. Das Auffinden aller E-Mail-Adressen, Telefonnummern oder URLs in einem Dokument lässt sich beispielsweise einfach in Regex ausdrücken, ist aber mit normalen String-Methoden äußerst komplex zu schreiben.
Python bietet über das Modul „re“ integrierte Unterstützung für reguläre Ausdrücke. Das Modul enthält wichtige Funktionen wie „re.search()“ zum Finden der ersten Übereinstimmung, „re.findall()“ zum Abrufen aller übereinstimmenden Teilzeichenfolgen als Liste und „re.finditer()“ zum Durchlaufen von Übereinstimmungsobjekten. Jedes Match-Objekt stellt Metadaten bereit, z. B. den genauen Start- und Endpositionsindex der passenden Teilzeichenfolge und den passenden Text selbst.
Regex-Muster verwenden spezielle Metazeichen: „\d“ entspricht einer beliebigen Ziffer, „\w“ entspricht alphanumerischen Zeichen, „+“ entspricht einer oder mehreren Wiederholungen und Klammern „[...]“ definieren Zeichensätze. Durch die Gruppierung mit Klammern „(...)“ können Sie bestimmte Teile eines Musters extrahieren. Darüber hinaus können Sie mit „re.sub()“ nach einem Muster suchen und es durch eine neue Zeichenfolge ersetzen. Auch wenn die Lernkurve für Regex steil ist, bietet Ihnen die Beherrschung ein unglaublich schnelles und vielseitiges Werkzeug für die Textverarbeitung.
Code- und Ausführungsausgabe
Verwenden des re-Moduls zum Validieren und Extrahieren von Komponenten einer E-Mail-Adresse.
import re
text = "Contact support at info@pyrun.xyz or developer@pyrun.xyz today."
# Pattern to match email addresses
email_pattern = r"([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})"
# Find all matches
emails = re.findall(email_pattern, text)
print("Emails found:")
for user, domain in emails:
print(f"User: {user} | Domain: {domain}")
# Redacting emails using re.sub
redacted_text = re.sub(email_pattern, "[REDACTED]", text)
print(f"\nRedacted Text:\n{redacted_text}")Emails found:
User: info | Domain: pyrun.xyz
User: developer | Domain: pyrun.xyz
Redacted Text:
Contact support at [REDACTED] or [REDACTED] today.Schrittweise Umsetzung
- Validierung von Formateingaben (E-Mails, Telefone, Passwörter)
- Analysieren Sie Serverzugriffsprotokolle nach Statuscodes
- Auslesen von Informationen aus Roh-HTML- und Markdown-Berichten
Häufig gestellte Fragen
Welche Bedeutung hat das Präfix „r“ in Regex-Mustern?
Es bezeichnet einen „Rohstring“. Rohe Zeichenfolgen behandeln Backslashes (\) als Literalzeichen statt als Escape-Zeichen und vermeiden so Syntaxkonflikte mit Regex-Platzhaltern.
Was ist der Unterschied zwischen re.match und re.search?
re.match sucht nur nach einer Übereinstimmung, beginnend ganz am Anfang der Zeichenfolge, während re.search die gesamte Zeichenfolge nach einer Übereinstimmung durchsucht.
Verwandte Themen
Master-String-Manipulation in Python. Lernen Sie String-Methoden, Slicing-, Verkettungs- und Formatierungstechniken anhand klarer, ausführbarer Codebeispiele.
Python-Datei-I/OErfahren Sie, wie Sie Dateien in Python lesen und schreiben. Beherrschen Sie open(), read(), write() und Kontextmanager, um Dateivorgänge sicher und ohne Ressourcenverluste abzuwickeln.
Empfohlene Python-Ressourcen
Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.
So sortieren Sie eine Liste in Python
Erfahren Sie, wie Sie eine Liste in Python mit der Methode sort() und der Funktion sorted() sortieren. Entdecken Sie Beispiele für benutzerdefinierte Schlüsselsortierung und umgekehrte Reihenfolge.
Spickzettel für Python-Regex-Muster (zum Modul).
Referenzhandbuch für reguläre Python-Ausdrücke. Lernen Sie Übereinstimmungs-, Such-, Findall-, Sub- und wesentliche Regex-Muster.
Python vs. JavaScript: Welche Programmiersprache ist die beste?
Ein umfassender Vergleich zwischen Python und JavaScript. Entdecken Sie Syntaxunterschiede, Leistung, Anwendungsfälle (Backend vs. Frontend) und Codierungsbeispiele.