MudGuard: RegEx Maskierung

Beitrag lesen

Hi,

$string =~ s/([?.\+\*^$|\()[]{}])/\$1/g;

Hm. Soweit ich weiß, muß innerhalb der Zeichenklasse [] fast gar nichts maskiert werden: '-' wenn es nicht am Anfang (nach ggf. vorhandenem ^) oder Ende steht, ']' wenn es nicht am Anfang (nach ggf. vorhandenem ^ steht), '' immer.

Deine Zeichenklasse enthält zweimal den escapeten \ (nach dem Punkt und nach dem |. Das + hast Du nicht escapet.

Außerhalb einer Zeichenklasse könnte \Q ... \E was für Dich sein. Aber in der Zeichenklasse geht das natürlich nicht. Ist ja auch nicht notwendig.

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.