Einführung in reguläre Ausdrücke in Python

Grundlagen von Regex, häufige Muster und praktische Beispiele für Mustervergleiche und Datenvalidierung

Lernen Sie die Grundlagen der regulären Ausdrücke (regex) in Python. Dieses Tutorial behandelt die Grundlagen, häufige Muster und praktische Beispiele für den Musterabgleich und die Datenvalidierung mit dem Python-Modul re.

Programmierung
Autor:in
Zugehörigkeit
Veröffentlichungsdatum

9. Februar 2024

Geändert

29. April 2025

Schlüsselwörter

Reguläre Ausdrücke in Python, regex in Python-Tutorial, Mustervergleich Python

Einführung

Reguläre Ausdrücke (regex) sind ein leistungsfähiges Werkzeug für die Suche, den Abgleich und die Bearbeitung von Text anhand von Mustern. Das in Python eingebaute Modul re bietet robuste Unterstützung für reguläre Ausdrücke (regex), mit denen Sie komplexe Textverarbeitungsaufgaben effizient durchführen können. In diesem Tutorial werden wir die Grundlagen von Regex behandeln, häufige Muster untersuchen und praktische Beispiele für den Musterabgleich und die Datenvalidierung demonstrieren.



Was sind reguläre Ausdrücke?

Reguläre Ausdrücke sind Zeichenfolgen, die ein Suchmuster definieren. Sie werden häufig verwendet für Aufgaben wie:

  • Validierung von Eingaben (z. B. E-Mail-Adressen, Telefonnummern)
  • Suchen und Extrahieren bestimmter Muster aus Text
  • Ersetzen oder Ändern von Teilzeichenfolgen innerhalb einer größeren Zeichenkette

Grundlegende Syntax und Funktionen in Pythons re Modul

Pythons re-Modul bietet mehrere wichtige Funktionen:

  • re.search(): Sucht nach einem Muster an einer beliebigen Stelle in der Zeichenkette.
  • re.match(): Prüft nur am Anfang der Zeichenfolge auf eine Übereinstimmung.
  • re.findall(): Gibt eine Liste aller sich nicht überschneidenden Übereinstimmungen zurück.
  • re.sub(): Ersetzt Vorkommen eines Musters durch eine bestimmte Zeichenkette.
  • re.split(): Zerlegt eine Zeichenkette nach den Vorkommen eines Musters.

Praktische Beispiele

Suche nach einem Muster

Verwendung von re.search() zum Auffinden eines Musters in einer Zeichenkette:

#| label: regex-search
import re

text = "The quick brown fox jumps over the lazy dog."
pattern = r"fox"
match = re.search(pattern, text)
if match:
    print("Match found:", match.group())
else:
    print("No match found.")

Ergebnisse:

Treffer gefunden: fox

Alle Vorkommnisse finden

Verwenden Sie re.findall(), um alle Übereinstimmungen eines Musters zu extrahieren:

#| label: regex-findall
import re

text = "apple, banana, cherry, apple, banana"
pattern = r"apple"
matches = re.findall(pattern, text)
print("All matches:", matches)

Ergebnisse:

Alle Übereinstimmungen: ['Apfel', 'Apfel']

Ersetzen von Mustern

Verwenden Sie re.sub(), um übereinstimmende Muster durch eine neue Zeichenkette zu ersetzen:

#| label: regex-sub
import re

text = "The price is $100. The discount price is $80."
pattern = r"\$\d+"
new_text = re.sub(pattern, "REDACTED", text)
print("Updated text:", new_text)

Ergebnisse:

Aktualisierter Text: Der Preis ist REDAKTIERT. Der Rabattpreis ist REDACTED.

Gruppen für die Extraktion verwenden

Gruppen ermöglichen es Ihnen, bestimmte Teile eines Musters zu extrahieren:

#| label: regex-groups
import re

text = "My email is alice@example.com."
pattern = r"(\w+)@(\w+\.\w+)"
match = re.search(pattern, text)
if match:
    username, domain = match.groups()
    print("Username:", username)
    print("Domain:", domain)

Ergebnisse:

Benutzername: alice
Bereich: beispiel.de

Tipps und Best Practices

  • Einfach halten:
    Beginnen Sie mit einfachen Mustern und steigern Sie allmählich die Komplexität. Übermäßig komplexe Regex kann schwer zu lesen und zu pflegen sein.

  • Testen Sie Ihre Muster:
    Verwenden Sie Online-Tools wie regex101.com, um Ihre regulären Ausdrücke interaktiv zu testen und zu debuggen.

  • Dokumentieren Sie Ihre Regex:
    Fügen Sie beim Schreiben komplexer Muster Kommentare hinzu oder unterteilen Sie sie zur besseren Übersichtlichkeit in kleinere Teile.

  • Rohe Zeichenketten verwenden:
    Prefix regex patterns with r to avoid issues with escape sequences (e.g., r'\d+').

Schlussfolgerung

Reguläre Ausdrücke sind ein unverzichtbares Werkzeug für die Textverarbeitung in Python. Wenn Sie die Grundlagen beherrschen und mit praktischen Beispielen experimentieren, können Sie Eingaben effizient validieren, aussagekräftige Daten extrahieren und Text nach Ihren Bedürfnissen umwandeln. Mit etwas Übung werden Sie feststellen, dass regex viele gängige Textverarbeitungsaufgaben erheblich vereinfachen kann.

Weiterführende Literatur

Viel Spaß beim Programmieren und bei der Nutzung der Möglichkeiten regulärer Ausdrücke in Python!

Weitere Artikel erkunden

Hinweis

Hier finden Sie weitere Artikel aus derselben Kategorie, die Ihnen helfen, tiefer in das Thema einzutauchen.

placeholder

placeholder
Keine Treffer
Zurück nach oben

Wiederverwendung

Zitat

Mit BibTeX zitieren:
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Einführung in reguläre Ausdrücke in Python},
  date = {2024-02-09},
  url = {https://www.datanovia.com/de/learn/programming/python/additional-tutorials/regex.html},
  langid = {de}
}
Bitte zitieren Sie diese Arbeit als:
Kassambara, Alboukadel. 2024. “Einführung in reguläre Ausdrücke in Python.” February 9, 2024. https://www.datanovia.com/de/learn/programming/python/additional-tutorials/regex.html.