seth: Reguläre Ausdrücke

Beitrag lesen

gudn tach!

Aufgabe ist es, festzustellen ob eines der nachfolgenden Sonderzeichen innerhalb eines Strings (ab Stelle 2 und bis zur vorletzten Stelle) vorhanden ist.

was genau sind denn bei dir zeichen, die keine sonderzeichen sind? evtl. waere die negation leichter?

Dann habe ich nach und nach [ und ] und die anderen Klammern "escaped"
Der reguläre Ausdruck sieht inzwischen so aus:

$teststring =~ /^.+[^°!"§$%&/()[]{}=?\`´\*+~'#<>;,:._-].+$/;

wie Don P schon sagte, darf der delimiter (slash) nicht unescaped in einer zeichenklasse stehen. ansonsten brauchst du, abgesehen von "]", "" und "$" eigentlich nix weiter escapen, wenn du ein paar sachen beachtest.

^ muss nicht escaped werden, wenn es nicht am anfang steht
  - muss nicht escaped werden, wenn es am rand steht

$teststring =~ /.[°^!"§$%&/()[]{}=?\`´*+~'#<>;,:._-]./;

prost
seth