Reguläre Ausdrücke - Ich versteh es nicht

Reguläre Ausdrücke - Ich versteh es nicht

am 26.12.2007 07:49:03 von mail4lano

Hallo liebe NG,

ich hab ein Problem mit Regulären Ausdrücken.
Das größte scheint dabei zu sein, das ich davon keine Ahnung habe.
Vielleicht kann mir ja hier jemand helfen dem es leichter fällt das zu
verstehn.

zum Problem an sich

Ich habe einen e-mail Header in ein Array gepackt, Zeile für Zeile.
In einem Element steht also sowas wie:

From: "name"


Ich möchte nun den Namen und die E-mail adresse in eine Variable
schreiben. Nur wie komm ich daran ?
Es kann auch sein das der Name nicht in Anführungszeichen steht oder
garnicht vorhanden ist, ebenso bei der emailadresse, die hat nicht
unbedingt ein gültiges format und ist nicht unbedingt von < und >
umgeben.

mögliche Formate wären zB.:

From: "name"
From: "name" mail@domain.tld
From: name
From: name mail@domain.tld
From:
From: mail@domain.tld

wie komme ich nun an den Namen und Die adresse ?

für Hilfe immer Dankbar -Sven-

Re: Reguläre Ausdrücke - Ich versteh es nicht

am 26.12.2007 09:52:59 von Christian Winter

Sven Mönnich schrieb:
> Hallo liebe NG,
>
> ich hab ein Problem mit Regulären Ausdrücken.
> Das größte scheint dabei zu sein, das ich davon keine Ahnung habe.
> Vielleicht kann mir ja hier jemand helfen dem es leichter fällt das zu
> verstehn.
>
> zum Problem an sich
>
> Ich habe einen e-mail Header in ein Array gepackt, Zeile für Zeile.
> In einem Element steht also sowas wie:
>
> From: "name"
>
>
> Ich möchte nun den Namen und die E-mail adresse in eine Variable
> schreiben. Nur wie komm ich daran ?
> Es kann auch sein das der Name nicht in Anführungszeichen steht oder
> garnicht vorhanden ist, ebenso bei der emailadresse, die hat nicht
> unbedingt ein gültiges format und ist nicht unbedingt von < und >
> umgeben.
>
> mögliche Formate wären zB.:
>
> From: "name"
> From: "name" mail@domain.tld
> From: name
> From: name mail@domain.tld
> From:
> From: mail@domain.tld
>
> wie komme ich nun an den Namen und Die adresse ?

Das Parsen von RFC2822-Adressheadern ist nicht unbedingt das
beste Thema, um mit regulären Ausdrücken anzufangen. Ich würde
mir dazu ein passendes Modul (Email::Address) runterladen und
bei Interesse mal in dessen Quellcode rumwühlen. Die Fälle,
die Du oben aufgezählt hast, sind bei weitem noch nicht alle,
da gibt es auch noch so schöne Dinge wie spitze Klammern im
Namensteil etc.

-Christian

Re: Reguläre Ausdrücke - Ich versteh es nicht

am 26.12.2007 20:02:51 von mail4lano

Christian Winter schrieb:
> Sven Mönnich schrieb:
>> Hallo liebe NG,
>>
>> ich hab ein Problem mit Regulären Ausdrücken.
>> Das größte scheint dabei zu sein, das ich davon keine Ahnung habe.
>> Vielleicht kann mir ja hier jemand helfen dem es leichter fällt das zu
>> verstehn.
>>
>> zum Problem an sich
>>
>> Ich habe einen e-mail Header in ein Array gepackt, Zeile für Zeile.
>> In einem Element steht also sowas wie:
>>
>> From: "name"
>>
>>
>> Ich möchte nun den Namen und die E-mail adresse in eine Variable
>> schreiben. Nur wie komm ich daran ?
>> Es kann auch sein das der Name nicht in Anführungszeichen steht oder
>> garnicht vorhanden ist, ebenso bei der emailadresse, die hat nicht
>> unbedingt ein gültiges format und ist nicht unbedingt von < und >
>> umgeben.
>>
>> mögliche Formate wären zB.:
>>
>> From: "name"
>> From: "name" mail@domain.tld
>> From: name
>> From: name mail@domain.tld
>> From:
>> From: mail@domain.tld
>>
>> wie komme ich nun an den Namen und Die adresse ?
>
> Das Parsen von RFC2822-Adressheadern ist nicht unbedingt das
> beste Thema, um mit regulären Ausdrücken anzufangen. Ich würde
> mir dazu ein passendes Modul (Email::Address) runterladen und
> bei Interesse mal in dessen Quellcode rumwühlen. Die Fälle,
> die Du oben aufgezählt hast, sind bei weitem noch nicht alle,
> da gibt es auch noch so schöne Dinge wie spitze Klammern im
> Namensteil etc.
>
> -Christian

Oh, Danke für den Tip. Spitze Klammern im Namensteil hab ich noch nicht
gesehn, da wären mir bestimmt manche Adressen duch die Lappen gegangen.

-Sven-