Marcus: RegExp erklärung ?

Hallo ich ein Verständnis Problem mit dem folgenden regexp

/[1]\w[\w|.|-]+@\w[\w|.|-]+/

der string der übergeben wird soll halt auf richtige EMail überprüft werden, was er auch macht.

Aber wenn eine Email-Adresse so lautet:
xx@gehtnicht.de (also 2stellig vor dem @) dann meldet er einen Fehler ?!?
wieso
xxx@geht.de funktioniert.

Kann mir einer das freundlicher Weise erklären  bzw eine änderung posten ?

vielen dank

marcus


  1. a-zA-Z\d ↩︎

  1. Hi,

    Hallo ich ein Verständnis Problem mit dem folgenden regexp

    Ja, Regexe sind ein gutes Beispiel für eine write-only Sprache ;-)

    /[1]\w[\w|.|-]+@\w[\w|.|-]+/

    der string der übergeben wird soll halt auf richtige EMail überprüft werden, was er auch macht.

    Nein, macht er nicht, wie Du selber ja schon festgestellt hast.

    Kann mir einer das freundlicher Weise erklären

    Dein aktuelle Problem ist schnell erklärt:

    Einfach mal den regex Zeichenweise auflösen, d.h. überall, wo mindestens ein Zeichen verlangt wird packe ich mal " ÄÖÄ " dazwischen

    /[2] ÄÖÄ \w ÄÖÄ [\w|.|-]+ ÄÖÄ @ ÄÖÄ \w ÄÖÄ [\w|.|-]+ ÄÖÄ /

    Der String muß laut "[3]" mit einem Buchstaben aus a-zA-Z beginnen oder einer Ziffer aus "\d"

    Danach kommt ein Buchstabe aus "\w"

    Danach kommt mindestens ein Buchstabe aus "\w" oder ein Pipezeichen (das übrigens doppelt vorhanden ist) oder einem Punkt. Warum Du das Minuszeichen ausgeschaltet hast weiß ich nicht.

    Danach kommt das Zeichen '@'

    Was danach kommt wurde bereits erklärt.

    bzw eine änderung posten ?

    Zum Thema Formularauswertung gibt es einen Tips&Tricks Artikel, da ist auch ein Regex für Email mit drin. Wenn Du den siehst wirst Du wissen, warum ich hier keine Änderungen poste ;-)

    so short

    Christoph Zurnieden


    1. a-zA-Z\d ↩︎

    2. a-zA-Z\d ↩︎

    3. a-zA-Z\d ↩︎