Hallo Ashura,
in den von Dir zitierten Dokumenten habe ich untenstehendes gefunden.
Das ist mir dann doch zu hoch. Ich rufe daher auf (ganz nach dem kommunistischen Manifest):
Informatiker aller Welt, vereinigt Euch!
Schreibt einen dazu passenden regulären Ausdruck und das Thema ist ein für alle Male vom Tisch.
Gruß
Nautilus
The BNF Specification of e-mail-adresses
We present here a rather detailed "BNF" definition of the allowed form for a computer mail "mailbox" composed
of a "local-part" and a "domain" (separated by an at sign). Clearly, the domain can be used separately in other
network-oriented applications.
<mailbox> ::= <local-part> "@" <domain>
<local-part> ::= <string> | <quoted-string>
<string> ::= <char> | <char> <string>
<quoted-string> ::= """ <qtext> """
<qtext> ::= "" <x> | "" <x> <qtext> | <q> | <q> <qtext>
<char> ::= <c> | "" <x>
<domain> ::= <naming-domain> | <naming-domain> "." <domain>
<naming-domain> ::= <simple-name> | <address>
<simple-name> ::= <a> <ldh-str> <let-dig>
<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
<let-dig> ::= <a> | <d>
<let-dig-hyp> ::= <a> | <d> | "-"
<address> ::= "#" <number> | "[" <dotnum> "]"
<number> ::= <d> | <d> <number>
<dotnum> ::= <snum> "." <snum> "." <snum> "." <snum>
<snum> ::= one, two, or three digits representing a decimal integer value in the range 0 through 255
<a> ::= any one of the 52 alphabetic characters A through Z in upper case and a through z in lower case
<c> ::= any one of the 128 ASCII characters except <s> or <SP>
<d> ::= any one of the ten digits 0 through 9
<q> ::= any one of the 128 ASCII characters except CR, LF, quote ("), or backslash ()
<x> ::= any one of the 128 ASCII characters (no exceptions)
<s> ::= "<", ">", "(", ")", "[", "]", "", ".", ",", ";", ":", "@", """, and the control characters (ASCII codes 0 through 31 inclusive and 127)
Note that the backslash, "", is a quote character, which is used to indicate that the next character is to
be used literally (instead of its normal interpretation). For example, "Joe,Smith" could be used to indicate
a single nine character user field with comma being the fourth character of the field.
The simple names that make up a domain may contain both upper and lower case letters
(as well as digits and hyphen), but these names are not case sensitive.
Hosts are generally known by names. Sometimes a host is not known to the translation function and
communication is blocked. To bypass this barrier two forms of addresses are also allowed for host
"names". One form is a decimal integer prefixed by a pound sign, "#".
Another form, called "dotted decimal", is four small decimal integers separated by dots and enclosed
by brackets, e.g., "[123.255.37.2]", which indicates a 32-bit ARPA Internet Address in four 8-bit fields.
(Of course, these numeric address forms are specific to the Internet, other forms may have to be provided
if this problem arises in other transport systems.)