Python

⌘K
  1. Home
  2. Docs
  3. Python
  4. Python RegEx

Python RegEx

Python RegEx: Reguläre Ausdrücke (RegEx) sind ein leistungsstarkes Werkzeug zur Mustererkennung und -bearbeitung in Texten. In Python wird das Modul re verwendet, um reguläre Ausdrücke zu erstellen, zu analysieren und zu manipulieren. In diesem Abschnitt erfahren Sie, wie Sie reguläre Ausdrücke in Python nutzen können.

1. Importieren des re-Moduls

Bevor Sie reguläre Ausdrücke verwenden können, müssen Sie das re-Modul importieren.

Beispiel

import re

2. Grundlegende Verwendung von regulären Ausdrücken

Muster suchen

Um ein Muster in einem Text zu suchen, verwenden Sie die Funktion re.search(). Diese gibt ein Match-Objekt zurück, wenn das Muster gefunden wird, oder None, wenn kein Treffer vorliegt.

Beispiel

text = "Ich liebe Programmierung in Python."
muster = r"Programmierung"

match = re.search(muster, text)
if match:
    print("Muster gefunden:", match.group())
else:
    print("Muster nicht gefunden.")

3. Übereinstimmungen finden

Um alle Vorkommen eines Musters in einem Text zu finden, verwenden Sie die Funktion re.findall(). Diese gibt eine Liste aller Übereinstimmungen zurück.

Beispiel

text = "Python ist großartig. Ich liebe Python!"
muster = r"Python"

alle_uebereinstimmungen = re.findall(muster, text)
print("Gefundene Übereinstimmungen:", alle_uebereinstimmungen)
# Ausgabe: Gefundene Übereinstimmungen: ['Python', 'Python']

4. Ersetzen von Text

Um Teile eines Textes basierend auf einem Muster zu ersetzen, verwenden Sie die Funktion re.sub(). Diese Funktion erlaubt es Ihnen, Übereinstimmungen durch einen angegebenen Ersatztext zu ersetzen.

Beispiel

text = "Ich liebe Python. Python ist vielseitig."
muster = r"Python"
ersatz = "Programmiersprache"

neuer_text = re.sub(muster, ersatz, text)
print(neuer_text)
# Ausgabe: Ich liebe Programmiersprache. Programmiersprache ist vielseitig.

5. Verwendung von speziellen Zeichen

Reguläre Ausdrücke nutzen spezielle Zeichen, um komplexere Muster zu definieren. Hier sind einige häufig verwendete Zeichen:

  • .: steht für ein beliebiges Zeichen
  • ^: steht für den Anfang einer Zeile
  • $: steht für das Ende einer Zeile
  • *: steht für null oder mehr Wiederholungen des vorhergehenden Zeichens
  • +: steht für eine oder mehr Wiederholungen des vorhergehenden Zeichens
  • ?: steht für null oder eine Wiederholung des vorhergehenden Zeichens
  • []: steht für eine Gruppe von Zeichen (z. B. [abc] steht für a, b oder c)
  • |: steht für “oder” (z. B. a|b findet a oder b)

Beispiel

text = "abc, aab, ac, bbc"
muster = r"a.c"  # Findet 'abc' und 'aac'

alle_uebereinstimmungen = re.findall(muster, text)
print("Gefundene Übereinstimmungen:", alle_uebereinstimmungen)
# Ausgabe: Gefundene Übereinstimmungen: ['abc', 'aac']

6. Gruppierung und Rückreferenzen

Sie können Klammern verwenden, um Teile eines Musters zu gruppieren und Rückreferenzen zu ermöglichen. Dies ist nützlich, um Teile eines gefundenen Musters später zu verwenden.

Beispiel

text = "Die Nummern sind 123-4567 und 234-5678."
muster = r"(\d{3})-(\d{4})"  # Suche nach Telefonnummern im Format XXX-XXXX

alle_uebereinstimmungen = re.findall(muster, text)
print("Gefundene Telefonnummern:", alle_uebereinstimmungen)
# Ausgabe: Gefundene Telefonnummern: [('123', '4567'), ('234', '5678')]

7. Komplexere Muster

Reguläre Ausdrücke können auch komplexere Muster erkennen. Hier ist ein Beispiel, das E-Mail-Adressen sucht.

Beispiel

text = "Kontaktieren Sie uns unter [email protected] oder [email protected]."
muster = r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"

emails = re.findall(muster, text)
print("Gefundene E-Mail-Adressen:", emails)
# Ausgabe: Gefundene E-Mail-Adressen: ['[email protected]', '[email protected]']

Häufig gestellte Fragen

Was ist ein regulärer Ausdruck?

Ein regulärer Ausdruck ist eine Sequenz von Zeichen, die ein Suchmuster definiert. Es wird verwendet, um Textmuster zu suchen und zu bearbeiten.

Wie finde ich alle Vorkommen eines Musters in einem Text?

Verwenden Sie die Funktion re.findall(), um alle Vorkommen eines Musters in einem Text zu finden.

Wie kann ich Teile eines Textes basierend auf einem Muster ersetzen?

Verwenden Sie die Funktion re.sub(), um Teile eines Textes, die einem Muster entsprechen, durch einen anderen Text zu ersetzen.