T. Collins: Regulärer Ausdruck

Beitrag lesen

Einen wunderschönen guten Morgen!

um zu testen, ob die Zeichen, die bei der Eingabe einer E-Mail-Adresse verwendet wurden, gültig sind, hatte ich folgenden regulären Ausdruck verwendet:

if (eregi("[^a-z0-9_-.@]",$mem_email) {
    MECKERMELDUNG
  }

Funktionierte alles prima, bis auf die Verwendung des Minuszeichens:

My_Email@my-example.com wurde nicht akteptiert, My_Email@example.com hingegen schon.

Bis ich den Ausdruck umgestellt habe:

eregi("[^a-z0-9_.@-]",$mem_email)

Kann mir jemand erklären, warum die Position von - eine Rolle spielt?
Ach ja: ich arbeite nur sehr selten mit regulären Ausdrücken und bin da nicht sehr fit.

Grüße
T. Collins