seth: Regular Expression für ein Datum

Beitrag lesen

gudn tach Gunnar!

Also [1235679] statt [^048]. [1-35-79] spart wohl nichts.

ja, ist imho bloss etwas uebersichtlicher.

Geht eigentlich auch sowas: [\d^048]?

ja, aber es matcht nicht, was moechtest. innerhalb von zeichenklassen-definitionen gilt: negiert ^ die zeichenklasse nur dann, wenn es das erste zeichen nach [ ist. sonst hat es keine meta-bedeutung.

was du moechtest, laesst sich dennoch bewerkstelligen, und zwar mit dem alten hellseher-trick:
/(?=\d)[^048]/

(?=\d) verlangt, dass das naechste zeichen eine ziffer ist.
[^048] verlangt, dass das zeichen weder 0, 4 noch 8 sein darf.

weil niemand der grossen betriebssystem-hersteller an das y10k-problem dachte

LOL.

Eigentlich dachte ich an die heutigen Bedürfnisse – der Wahrsager, die heute schon das Ende der Welt für 10235-10-21T16:23Z vorhersagen.

aeh, hat das mit 10235 einen hintergrund? (man weiss ja nie.)

jetzt hakt der test allerdings noch immer, weil der gregorianische kalender erst 1582 eingefuehrt

Das Wann ist abhängig vom Wo.

ja, das ist wahr. aber ich dachte, dass (heutzutage) die daten vor 1582 normalerweise nicht nach dem greg. (sondern dem julianischen) kalender angegeben werden.
ach ja, und bei deinem regulaeren ausdruck war noch nicht beruecksichtigt, dass es das jahr 0 nicht gab.

Und ja, das Problem war mir bewusst [..]

wollte ich auch gar nicht infrage stellen, sondern bloss noch als verbesserung vorschlagen.

hierbei habe ich uebrigens durch backreferencing noch eingebaut

Verdient das dann eigentlich noch den Namen „regulärer Ausdruck“ im Sinne der theoretischen Informatik?

nein.

Oder werden damit nicht reguläre, sondern kontextsensitive Sprachen beschrieben? Mal nachdenken ...

beides.

prost
seth