Leidige Reguläre Ausdrücke. Keine Sonderzeichen

Hallo,

die regulären Ausdrücke mögen mich nicht so.:wink:

$erlaubt="~^[ .+:;,\w-]*$~im";

Wenn ich das dieses Muster anwende, dann möchte ich das Keine Unterscheidung zw. Groß-Kleinschreibung vorkommt (i)
Das alle Zeilen geprüft werden (m)
alle Buchstaben und Zahlen (\w)
Sowie diese Zeichen (.+:;,?!) .
und beliebig oft.

Warum muss ich auf einem Linux Server äöüÄÖÜ extra aufführen?
Also so:$erlaubt="~^[ .+:;,?äöüÄÖÜ!\w-]*$~im";

Vielen Dank
Guckst Du

Kann ich das vereinfachen, ich möchte alles erlauben außer "§$’/\

weil linux äüö nicht als wortzeichen zu \w zählt

um alles zu erlauben ausßer “§$’/\ nimmst du
$erlaubt=”#^[^"§$’/]*$#im";

Hallo Agent,

danke, das erste Dach in der Klammer bedeutet “nicht”?

Grüße
GuckstDu

ja, ein zirkumflex als erstes zeichen in einer zeichenklasse negiert alle zeichen darin also diese dürfen nicht vorkommen kommt es nicht als erstes zeichen vor steht es für sich selbst