Hallo Albert, Albert Hermeling wrote:
Am Freitag, 27. Juni 2003 16:38 schrieb Albert Hermeling: Na ja manchmal sieht man den Wald vor lauter Baeumen nicht. Ist doch einfach. Suche nicht nach dem was drin sein darf sondern nach dem was nicht :-)). Findet er dieses ist es kein Datum oder Zahl sondern alphanumerisch.
Beispiel:
keindatum="01-01.2003"
re.match("[a-z]|[A-Z]|[,;:/-_ ?'`#']",keindatum)
mein Vorschlag: match = re.search(r"^(\d\d?)\.(\d\d?)\.((?:\d){4})$", gueltiges_datum) if match is not None: tag, monat, jahr = match.groups() \d = Ziffer \d? = null oder eine Ziffer \d{4} = vier Ziffern (...) = Gruppe speichern (?:...) = gruppieren, aber nicht als Gruppe speichern Wichtig ist das r vor dem Pattern-String, sonst müsstest du alle Backslashes doppelt schreiben. z. B.
re.search(r"^(\d\d?)\.(\d\d?)\.((?:\d){4})$", "1.12.2003") <_sre.SRE_Match object at 0x8126700> tag, monat, jahr = _.groups() tag, monat, jahr ('1', '12', '2003')
Das Pattern erlaubt ein- oder zweistellige Tages- und Monatswerte; es prüft allerdings, ob ein unmögliches Datum vorliegt, bspw. 30.2.2003 . Viele Grüße Stefan _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de