Start / Blog / Python / Regex für Datumsangaben in Python: Ein Leitfaden

Regex für Datumsangaben in Python: Ein Leitfaden

Zusammenfassen mit ChatGPT

Hallo liebe Python-Entwickler,

es ist nicht ungewöhnlich, dass wir in unserer täglichen Arbeit als EntwicklerInnen Datumsangaben verarbeiten müssen. Es gibt viele Bibliotheken, die dabei helfen können, aber manchmal ist die Verwendung von regulären Ausdrücken (Regex) die einfachste Methode. In diesem Blogpost möchte ich verschiedene Regex-Muster vorstellen, um Datumsangaben in verschiedenen Formaten zu extrahieren.

Warum Regex?

Reguläre Ausdrücke bieten eine schnelle und effiziente Möglichkeit, Muster in Texten zu erkennen. Wenn man beispielsweise ein Datumsformat in einer großen Menge an Text finden möchten, ist Regex oft die schnellste Lösung auch wenn NLP Modelle natürlich besondere Möglichkeiten bieten.

Regex für verschiedene Datumsformate

MM/DD/YYYY oder MM-DD-YYYY

\b(0[1-9]|1[0-2])[-/](0[1-9]|[12]\d|3[01])[-/](19\d\d|20\d\d)\b

DD/MM/YYYY oder DD-MM-YYYY

\b(0[1-9]|[12]\d|3[01])[-/](0[1-9]|1[0-2])[-/](19\d\d|20\d\d)\b

YYYY/MM/DD oder YYYY-MM-DD

\b(19\d\d|20\d\d)[-/](0[1-9]|1[0-2])[-/](0[1-9]|[12]\d|3[01])\b

MM-DD-YY oder MM/DD/YY

\b(0[1-9]|1[0-2])[-/](0[1-9]|[12]\d|3[01])[-/](\d\d)\b

YYYY-MM-DD (ISO 8601)

\b(19\d\d|20\d\d)-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])\b

Python Codebeispiel

Hier ist ein einfaches Beispiel, wie man diese Regex-Muster in Python verwenden kann:

import re
def find_dates(text, pattern):
    return re.findall(pattern, text)
text = "Das Datum ist 09/02/2023 und der andere Termin ist am 12-12-2024."
pattern = r"\b(0[1-9]|1[0-2])[-/](0[1-9]|[12]\d|3[01])[-/](19\d\d|20\d\d)\b"
dates = find_dates(text, pattern)
print("Gefundene Daten:", dates)

Schlusswort

Das Erkennen von Datumsangaben mit Regex in Python ist eine wertvolle Fähigkeit, die Ihnen viel Zeit sparen kann. Beachten sollte man jedoch, dass diese Muster nicht für Monate mit weniger als 31 Tagen oder Schaltjahre optimiert sind, da Regex nur feste Regeln implementieren können. Für komplexere Anforderungen sollte man eine spezialisierte Datumsbibliothek wie dateutil oder pandas oder das Konfuzio SDK in Erwägung ziehen.

Ich hoffe, dieser Leitfaden war hilfreich! Bei Fragen oder Anregungen gerne einen Kommentar hinterlassen.

Fanden Sie die Seite hilfreich?

Vielen Dank für Ihr Feedback!

Würden Sie mir Feedback geben? (anonym)

Wir entwickeln KI-Software für Unternehmen und verzichten bewusst auf störende Werbebanner. Durch unsere Artikel dokumentieren wir Themen, die uns beschäftigen, interessieren und auch unser tägliches Brot finanzieren.

Da unsere Inhalte kostenfrei sind, ist Ihr Feedback unser Lob.

Jeder Autor liest Ihr anonymes Feedback persönlich, obwohl KI es automatisieren könnten, und integriert konstruktive Vorschläge direkt in die nächste Überarbeitung oder nutzt es als Inspiration für den nächsten Artikel.



    • Florian Zyprian
      (Autor)

      Als CTO bei der Helm & Nagel GmbH, dem Unternehmen hinter der Marke Konfuzio.

    de_DEDE