Reguläre Ausdrücke in Python: Anleitung für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

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

Die Arbeit mit Text gehört zu den häufigsten Aufgaben in der Programmierung. Reguläre Ausdrücke sind dabei ein unverzichtbares Werkzeug für vielfältige Herausforderungen – sei es das Parsen von HTML-Seiten, die Überprüfung von Datenformaten oder die Verarbeitung von Logdateien.

In Python steht für reguläre Ausdrücke das integrierte Modul re zur Verfügung. In diesem Leitfaden zeigen wir dir Schritt für Schritt, wie du reguläre Ausdrücke in Python einsetzt. Wir behandeln die wichtigsten Methoden wie re.search() und re.sub() und veranschaulichen ihre praktische Anwendung an realen Beispielen.

Grundlagen regulärer Ausdrücke

Definition und Zweck

Reguläre Ausdrücke (Regular Expressions oder RegEx) sind eine spezielle Sprache zur Beschreibung von Suchmustern in Texten. Mit ihnen kannst du Textteile nach bestimmten Regeln suchen, überprüfen und ersetzen.

Typische Aufgaben für reguläre Ausdrücke

Reguläre Ausdrücke in Python lösen ein breites Spektrum an Aufgaben:

  • Validierung von E-Mail-Adressen und Telefonnummern
  • Suche nach allen numerischen Werten in einem Text
  • Ersetzen unerwünschter Zeichen und Datenbereinigung
  • Extrahieren bestimmter Wörter oder Phrasen aus großen Texten
  • Parsen strukturierter Daten
  • Verarbeitung von Log- und Systemdateien

Vorbereitung

Import des Moduls re

Bevor du mit regulären Ausdrücken arbeitest, musst du das entsprechende Modul importieren:

import re

Grundlegende Zeichen und Konstrukte

Für die effektive Arbeit mit regulären Ausdrücken ist es wichtig, die grundlegenden Zeichen und ihre Bedeutung zu kennen:

Zeichen Bedeutung
. Beliebiges Zeichen (außer Zeilenumbruch)
\d Beliebige Ziffer (0-9)
\D Beliebiges Nicht-Ziffern-Zeichen
\w Buchstabe, Ziffer oder Unterstrich
\W Alle Zeichen außer \w
\s Leerzeichen, Tabulator, Zeilenumbruch
\S Alle Zeichen außer Leerzeichen
^ Anfang der Zeile
$ Ende der Zeile
[] Zeichen aus einer bestimmten Menge
* Null oder mehr Wiederholungen
+ Ein oder mehr Wiederholungen
{n,m} Von n bis m Wiederholungen

Wichtige Methoden für reguläre Ausdrücke

Methode re.search() – erstes Vorkommen finden

Die Methode re.search() sucht nach dem ersten Vorkommen eines bestimmten Musters in einer Zeichenkette. Sie gibt ein Match-Objekt zurück, wenn das Muster gefunden wird, oder None, wenn keine Übereinstimmung vorliegt.

import re

text = "E-Mail: example@mail.com"
match = re.search(r'\w+@\w+\.\w+', text)

if match:
    print("E-Mail gefunden:", match.group())

Ergebnis der Ausführung:

E-Mail gefunden: example@mail.com

Erklärung des Suchmusters

Wir zerlegen das verwendete Muster in seine Bestandteile:

  • \w+ – ein oder mehrere Buchstaben, Ziffern oder Unterstriche
  • @ – das @-Zeichen (obligatorischer Bestandteil einer E-Mail)
  • \. – der Punkt (wird mit Backslash maskiert)
  • \w+ – die Top-Level-Domain

Methode re.findall() – alle Vorkommen finden

Wenn du alle Vorkommen eines Musters in einem Text finden möchtest, verwendest du die Methode findall(). Sie gibt eine Liste aller gefundenen Übereinstimmungen zurück.

text = "Preise: 100 Euro, 250 Euro, 350 Euro"
numbers = re.findall(r'\d+', text)
print(numbers)  # ['100', '250', '350']

Methode re.sub() – Ersetzen nach Muster

Die Methode re.sub() ersetzt alle Vorkommen eines bestimmten Musters durch einen angegebenen Text.

Blogs

Buchempfehlungen