Harald Gabler: Reguläre Ausdrücke

Hallo!

Ich moechte eine Zeichenkette ueberpruefen, ob sich am Ende die Zeichen -.@_ befinden.

Leider bekomme ich mit der nachfolgenden Zeile einen Server-Error.

if ($FORM{'address'} =~ /-$.$@$_$/) {&bademail}

Laut SelfHTML muesste es doch passen, oder bin ich schon wieder blind ;-)

Viele Gruesse
Harald

  1. Hi,

    Ich moechte eine Zeichenkette ueberpruefen, ob sich am Ende die Zeichen -.@_ befinden.

    Leider bekomme ich mit der nachfolgenden Zeile einen Server-Error.

    if ($FORM{'address'} =~ /-$.$@$_$/) {&bademail}

    Laut SelfHTML muesste es doch passen, oder bin ich schon wieder blind ;-)

    betriebsblind :-)
    Auch "@" muß maskiert werden, nicht nur der Punkt. Außerdem bin ich nicht sicher, daß Deine Oder-Schachtelung so korrekt interpretiert wird - versuch es doch lieber mit Zeichenklassen:

    /[-.@_]$/

    Hier muß (IIRC) nur der Bindestrich maskiert werden, da er sonst als Bereichsanzeiger interpretiert wird. Im Falle eines Errors weißt Du aber, was zu tun ist ;-)

    Cheatah

    1. Hallo Cheatah!

      betriebsblind :-)
      Auch "@" muß maskiert werden, nicht nur der Punkt.

      Danke, wie immer hat dein Tip zum Erfolg geführt. Ich waere da nie drauf gekommen, denn
      ($FORM{'address'} =~ /^-^.^@^_/)
      funktioniert ohne Maskierung von @.

      Außerdem bin ich nicht sicher, daß Deine Oder-Schachtelung so korrekt interpretiert wird - versuch es doch lieber mit Zeichenklassen:

      Die Oder-Verschachtelung duerfte funktionieren. Morgen versuche ich es dann mit Zeichenklassen.

      Viele Gruesse
      Harald