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