Wie man Python Regex für String-Ersetzung verwendet
Grace Collins
Solutions Engineer · Leapcell

Key Takeaways
- Python's
re.sub()ermöglicht flexible, musterbasierte String-Ersetzung. - Gruppierung und Rückbezüge helfen, übereinstimmende Inhalte umzustrukturieren.
- Funktionen können für dynamische, benutzerdefinierte Ersetzungen verwendet werden.
Reguläre Ausdrücke (Regex) sind leistungsstarke Werkzeuge zum Suchen und Bearbeiten von Zeichenketten. In Python ermöglicht das re-Modul Entwicklern, Regex-basierte Such- und Ersetzungsoperationen effizient durchzuführen. Dieser Artikel erklärt, wie man Python-Regex verwendet, um Teilstrings mit re.sub() zu ersetzen.
Importieren des re-Moduls
Um Regex in Python zu verwenden, importieren Sie zuerst das eingebaute re-Modul:
import re
Grundlegende Verwendung von re.sub()
Die Hauptfunktion für Regex-Ersetzung ist re.sub(pattern, repl, string). Sie sucht nach allen nicht-überlappenden Übereinstimmungen des pattern im string und ersetzt sie durch den String repl.
Beispiel 1: Ersetzen von Ziffern durch ein Symbol
import re text = "Bestellnummer: 12345" result = re.sub(r'\d', '*', text) print(result)
Ausgabe:
Bestellnummer: *****
Erläuterung: Das Muster \d entspricht jeder Ziffer, und alle Ziffern werden durch * ersetzt.
Verwenden von Gruppen bei der Ersetzung
Sie können Teile der Übereinstimmung mit Klammern () erfassen und in der Ersetzungszeichenkette mit \1, \2 usw. darauf verweisen.
Beispiel 2: Datumsangaben neu formatieren
text = "Heute ist 2025-04-09" result = re.sub(r'(\d{4})-(\d{2})-(\d{2})', r'\2/\3/\1', text) print(result)
Ausgabe:
Heute ist 04/09/2025
Erläuterung: Der Regex erfasst das Jahr, den Monat und den Tag separat und ordnet sie im Format MM/DD/YYYY neu an.
Verwenden einer Funktion für dynamische Ersetzung
Wenn Sie mehr Kontrolle darüber haben möchten, wie Übereinstimmungen ersetzt werden, können Sie eine Funktion als repl-Argument übergeben.
Beispiel 3: Inkrementieren von Zahlen
def add_one(match): number = int(match.group()) return str(number + 1) text = "Levels: 1, 2, 3" result = re.sub(r'\d+', add_one, text) print(result)
Ausgabe:
Levels: 2, 3, 4
Erläuterung: Die Funktion nimmt jede Zahl und erhöht sie um 1.
Flags und Case-Insensitive Ersetzung
Die Funktion re.sub() akzeptiert einen flags-Parameter für Modifikatoren wie Case-Insensitivity.
Beispiel 4: Case-Insensitive Ersetzung
text = "Hello hello HeLLo" result = re.sub(r'hello', 'hi', text, flags=re.IGNORECASE) print(result)
Ausgabe:
hi hi hi
Fazit
Python's re.sub() ist eine vielseitige Funktion, die einfache Ersetzungen, gruppenbasierte Umsortierung und sogar dynamische Substitution mithilfe von Funktionen unterstützt. Mit der richtigen Verwendung von Regex-Mustern können Sie leistungsstarke Textverarbeitungsaufgaben mit nur wenigen Codezeilen durchführen.
FAQs
Die Funktion re.sub() wird verwendet, um Regex-basierte Ersetzungen durchzuführen.
Ja, indem Sie eine Funktion an re.sub() übergeben, können Sie jede Übereinstimmung programmatisch transformieren.
Verwenden Sie Erfassungsgruppen und verweisen Sie in der Ersetzungszeichenfolge mithilfe von \1, \2 usw. auf diese.
Wir sind Leapcell, Ihre Top-Wahl für das Hosten von Python-Projekten.
Leapcell ist die Next-Gen Serverless-Plattform für Webhosting, asynchrone Aufgaben und Redis:
Multi-Language-Unterstützung
- Entwickeln Sie mit Node.js, Python, Go oder Rust.
Unbegrenzte Projekte kostenlos bereitstellen
- Zahlen Sie nur für die Nutzung – keine Anfragen, keine Gebühren.
Unschlagbare Kosteneffizienz
- Pay-as-you-go ohne Leerlaufgebühren.
- Beispiel: 25 $ unterstützen 6,94 Mio. Anfragen bei einer durchschnittlichen Antwortzeit von 60 ms.
Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollautomatische CI/CD-Pipelines und GitOps-Integration.
- Echtzeitmetriken und -protokollierung für verwertbare Erkenntnisse.
Mühelose Skalierbarkeit und hohe Leistung
- Automatische Skalierung zur einfachen Bewältigung hoher Parallelität.
- Null Betriebsaufwand – konzentrieren Sie sich einfach auf das Bauen.
Erfahren Sie mehr in der Dokumentation!
Folgen Sie uns auf X: @LeapcellHQ



