![](https://seccdn.libravatar.org/avatar/748d268218ff80eeb9fe326b03f4f4d7.jpg?s=120&d=mm&r=g)
On Tuesday 20 January 2009 17:41:26 Andre Tann wrote:
Hallo zusammen,
ich versuche mir gerade eine Regex für E-Mail-Adressen zusammenzubauen. Herausgekommen ist dabei das hier:
[A-Za-z0-9\-_\.+]+[^\.]@[A-Za-z0-9][A-Za-z0-9\-]+\.[A-Za-z]{2,}
Allerdings konnte ich auch durch längere Googelei nicht herausfinden:
Dürfen auf der linken Seite stehen
ein . als erstes oder letztes Zeichen ein _ als erstes oder letztes Zeichen eine Ziffer als erstes Zeichen
Auf der rechten Seite:
ein anderes Zeichen als [a-z0-9] als erstes oder letztes Zeichen
So lese ich zB, daß der . als letztes Zeichen vor dem @ nicht zulässig ist. Aber GMX läßt das zu. Ferner lese ich, daß das erste Zeichen ein Buchstabe sein muß, und keine Zahl sein darf. Damit wären aber alle Compuserve-Adressen (Gott hab sie selig) ungültig gewesen, und außerdem lassen web.de und GMX solche Adressen zu.
Kurz: hat jemand eine "offizielle" Regex für E-Mail-Adressen parat?
So einfach ist das nicht. Um wirklich alle möglichen Mail-Adressen zu matchen benötigst du ne Menge Zeichen. Hier ist was für dich: http://de.wikipedia.org/wiki/E-Mail-Adresse Und hier die der offizielle Standard RFC 2822: (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?: [\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]| \\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])? \.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9] [0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?: [\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]| \\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])