So verwenden Sie reguläre Ausdrücke (Regex) in Python
Beherrschen Sie reguläre Python-Ausdrücke mit dem integrierten re-Modul. Lernen Sie den String-Abgleich, die Mustersuche, das Finden aller Vorkommen und das Ersetzen von Text.
Übersicht
Reguläre Ausdrücke, allgemein als Regex bekannt, sind leistungsstarke Vorlagen, die zum Abgleichen, Suchen und Bearbeiten von Textzeichenfolgen basierend auf bestimmten Mustern verwendet werden. Regex wird häufig zur E-Mail-Verifizierung, Telefonnummernvalidierung, Web-Scraping, Protokollanalyse und zum Suchen und Ersetzen von Texten verwendet. Python bietet über das integrierte „re“-Modul vollständige Regex-Funktionen.
Das „re“-Modul bietet je nach Ziel mehrere Hauptfunktionen. Die Funktion „re.search(pattern, string)“ scannt einen String und gibt ein Übereinstimmungsobjekt für das erste Vorkommen des Musters zurück. Die Funktion „re.match(pattern, string)“ ist ähnlich, sucht jedoch nur vom Anfang der Zeichenfolge an. Wenn Sie alle Instanzen eines Musters in einem Textblock abrufen möchten, gibt „re.findall(pattern, string)“ sie als Liste von Zeichenfolgen zurück.
Regex-Muster verwenden spezielle Metazeichen wie „\d“ für Ziffern, „\w“ für alphanumerische Zeichen, „+“ für ein oder mehrere Vorkommen und „*“ für null oder mehr. Beim Schreiben von regulären Ausdrücken in Python ist es üblich, rohe String-Literale (mit dem Präfix „r“, z. B. „r“\d+““) zu verwenden, um zu verhindern, dass Python Backslashes als Escape-Sequenzen behandelt.
Code- und Ausführungsausgabe
Dieses Skript demonstriert die Validierung von Formatstrukturen, das Extrahieren numerischer Token und das Ersetzen übereinstimmender Muster mithilfe des re-Moduls.
import re
# 1. Searching for a pattern in text
log_message = "ERROR: Connection timeout at 04:30:15 on port 8080"
pattern_port = r"port \d+"
match = re.search(pattern_port, log_message)
if match:
print("Found port pattern:", match.group())
# 2. Extracting all email addresses from a block of text
text = "Contact sales@pyrun.xyz or support@example.com for help."
pattern_email = r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"
emails = re.findall(pattern_email, text)
print("Extracted emails:", emails)
# 3. Replacing patterns using re.sub
date_string = "2026/05/25"
# Replace slashes with dashes
clean_date = re.sub(r"/", "-", date_string)
print("Replaced Date:", clean_date)Found port pattern: port 8080
Extracted emails: ['sales@pyrun.xyz', 'support@example.com']
Replaced Date: 2026-05-25Schrittweise Umsetzung
- Importieren Sie das integrierte re-Modul.
- Definieren Sie Regex-Suchmuster mithilfe von Rohzeichenfolgen wie r"\d+", um Probleme mit der Escape-Sequenz zu vermeiden.
- Verwenden Sie re.search(), um das erste Vorkommen zu finden, oder re.findall(), um alle passenden Teilzeichenfolgen zu sammeln.
- Verwenden Sie re.sub(pattern, replacement, string), um musterbasierte Ersetzungen innerhalb von Text durchzuführen.
Häufig gestellte Fragen
Welchen Vorteil hat die Verwendung von Rohzeichenfolgen (r"...") für Regex-Muster?
Rohe Zeichenfolgen behandeln Backslashes als Literalzeichen und nicht als Escape-Zeichen. Beispielsweise stellt r"\n" einen Backslash gefolgt von einem "n" dar, während "\n" ein Zeilenumbruchzeichen darstellt.
Wie überprüfe ich, ob ein Regex-Match erfolgreich war?
re.search() und re.match() geben bei Erfolg ein Match-Objekt zurück, oder None, wenn keine Übereinstimmung gefunden wird. Sie sollten das Ergebnis mithilfe einer bedingten Anweisung überprüfen (z. B. if match:).
Verwandte Themen
Erfahren Sie, wie Sie Zeichen oder Teilzeichenfolgen in Python-Zeichenfolgen ersetzen. Beherrschen Sie die Methode replace(), Zählgrenzen und die Verwendung von Translate für mehrere Zeichen.
So teilen Sie einen String in PythonErfahren Sie, wie Sie in Python mithilfe der Methode split() eine Zeichenfolge in eine Liste aufteilen. Entdecken Sie die Aufteilung durch Leerzeichen, Kommas, Zeilenumbrüche und die Begrenzung der Teilungsanzahl.
Empfohlene Python-Ressourcen
Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.
Python-Schleifen
Erfahren Sie, wie Sie Python-Schleifen zum Durchlaufen von Daten verwenden. Beherrschen Sie Best Practices für For-Schleifen, While-Schleifen, Break, Continue und Loop anhand interaktiver Beispiele.
Spickzettel für Python-String-Methoden
Ein vollständiges Referenzhandbuch für die Python-String-Manipulation. Meistern Sie das Formatieren, Suchen, Teilen, Ersetzen und Überprüfen von Zeichenfolgeneigenschaften.
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.