hi!
Ich will einen Mustervergleich unter ASP durchfuehren, nur
funktioniert das uebrehaupt nicht.
Was noch zu beweisen wäre... :)
Folgendes Beispiel:
Set regEx = New RegExp
regEx.Pattern = "[^a-z]"
response.write regEx.test(variable)
Der reguläre Ausdruck gibt nicht an, die der _gesamte_ String aussehen
soll, sondern nur, wie ein _Teil_ des Strings aussehen soll. In diesem
Fall erwartet dein Regexp also, dass in dem String ein Zeichen vor-
kommt, das kein Kleinbuchstabe (a-z) ist. Im String "1a" kommt die 1
vor, das ist kein Kleinbuchstabe, daraus folgt: der reguläre Ausdruck
wird in deinem String gefunden.
Wenn du Aussagen über den kompletten String machen willst, musst du
bei regulären Ausdrücken auch auf String-Anfang und -Ende überprüfen.
Zum Beispiel so (in Perl):
$variable =~ m/[1]*$/;
^ ist der String-Anfang, $ das String-Ende. Und dazwischen dürfen
nur (allerdings beliebig viele) Nicht-Kleinbuchstaben stehen.
bye, Frank!
^a-z ↩︎