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