Date Regex Python

Regex für Datumsangaben in Python: Ein Leitfaden

Florian Zyprian

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.

#!trpst#trp-gettext data-trpgettextoriginal=2316#!trpen#本文章以德语撰写,可自动翻译成其他语言并进行重读。我们欢迎您在文章末尾进行反馈。#!trpst#/trp-gettext#!trpen#

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 zu hinterlassen.

Bis zum nächsten Mal!

    🐍✨Auf der Suche nach einer neuen Herausforderung?

    Tritt dem AI Comedy Club bei! Tauche ein in eine Welt, in der sich KI und Humor treffen, und nutze diese Bühne für deine Fähigkeiten. Ob aufstrebender Youngster oder erfahrener Entwickler, hier hast du die Chance, dein Python-Können auf eine lustige und innovative Art zu zeigen. Entdecke außerdem Möglichkeiten, einen Beitrag zu leisten und dich sogar für einen Job bei uns zu bewerben.

    Bereit zum Coden, Lachen und Beeindrucken?

    Sieh dir unsere AI Comedy Club Challenge an und finde heraus, wohin dich dein Humor und deine Python-Skills führen können!

    Apply for data scientist, 
backend developer, 
data engineer, 
software developer, 
python software developer jobs.

    Über mich

    #!trpst#trp-gettext data-trpgettextoriginal=1955#!trpen#更多精彩文章#!trpst#/trp-gettext#!trpen#

    data analytics python

    Datenanalyse mit Python – Data Analytics Python Guide

    Hallo Python-Enthusiasten! Ob ihr euch für ein Job-Interview vorbereitet, an einem Projekt arbeitet oder einfach nur die unendlichen Möglichkeiten der...

    #!trpst#trp-gettext data-trpgettextoriginal=1947#!trpen#阅读故事#!trpst#/trp-gettext#!trpen#
    python pdf parsen

    PDFs und andere Datenformate in Python parsen

    Als Python Entwickler stoßen wir oft auf Situationen, in denen wir Daten aus verschiedenen Quellen und Formaten wie PDFs, CSV,...

    #!trpst#trp-gettext data-trpgettextoriginal=1947#!trpen#阅读故事#!trpst#/trp-gettext#!trpen#

    ZBar: Document AI – Effiziente Extraktion von Barcodes

    In der Welt der Dokumentenverarbeitung und des Datenmanagements spielt die Fähigkeit, Barcodes schnell und genau zu dekodieren, eine entscheidende Rolle....

    #!trpst#trp-gettext data-trpgettextoriginal=1947#!trpen#阅读故事#!trpst#/trp-gettext#!trpen#
    Arrow-up