seth_not@home: Regular Expression für ein Datum

Beitrag lesen

gudn tach!

Du musst, soweit ich weiß, nur '/' innerhalb der eckigen Klammern maskieren.

brackets und minus-zeichen u.u. auch.

wenn ich aber [/-.] verwende erscheint eine Fehlermeldung "invalid range in character class". Was bedeutet das?

mit dem - gibt man in character classes (zeichenklassen), also den in brackets (eckigen klammern) eingeschlossenen zeichen, einen bereich (range) an.
beispiele:
[2-6] ist die zeichenklasse der ziffern 2 bis 6, man koennte auch [23456] schreiben.
[a-z] ist die zeichenklasse der zeichen a bis z, also der 26 konventionellen kleinbuchstaben.
"invalid range in character class" heisst also, dass der bereich [/-.], also alle zeichen vom / bis zum ., nicht zugelassen ist.

wenn das - nicht als "bis" verwendet werden soll, muss es maskiert werden oder z.b. am ende der klasse stehen.[1]

Ich habe nun [./-] verwendet und es funktioniert.

wundert mich. eigentlich haette ich erwartet, dass eine fehlermeldung kommt a la "end of character class expected".

[1] link zum thema, mit mehr details

prost
seth