Frank Schönmann: Regexp und ASP

Beitrag lesen

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!


  1. ^a-z ↩︎