2009-05-12 29 views
1

ich für einen regulären Ausdruck suchen, die für die Spiele gegen eine Zeichenfolge wie testen:RegEx - Auf der Suche nach E-Mails innerhalb einer Protokolldatei

mxtreme1.log: 12. Mai 07.00.00 10.1.1.175 postfix/cleanup [48145]: C2C9FFA730: fullname =, Absender = LOGINNAME@firma.com, [email protected], [email protected], vorher =, as_score = 0, as_strategie = M, code = W, actions = FFFFFFFFFFFTFFFFFFFFFF, Analyse = F000FFF000TTT000F000TFT000000TTSS3000059900033-F1F-FF00000000F000FFF000000000000F1FFF000F000

wo der gesamte Teil in Fett eine Übereinstimmung vorhanden ist, aber LOGINNAME kann beliebig viele zufällige Zeichen.

Jede Hilfe wäre sehr dankbar, Ihnen danken,

Antwort

2

das wäre so etwas wie:

sender=[^@][email protected]\.com

(Sie explizit wurden die besagt, dass nur die LOGINNAME Teil wäre variabel.)

1

Ich bin ziemlich sicher, dass ein Komma innerhalb einer E-Mail-Adresse nicht gültig ist, so lange, wie es danach immer das Komma hat, sollten Sie der Lage sein, es mit zu bekommen:

/(sender=[^,]+?),/ 
0

Hier ist die regex für E-Mail-Adressen nach RFC2822.

Es ist überraschend lang, aber E-Mail-Adressen können komplexer sein als Sie vielleicht erwarten.

Einfach mit /sender\s*=\s*/ voranstellen, um nur Absender-E-Mails zu erhalten.

0

Sie können dies versuchen:

^[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$ 

Aber schauen Sie sich this post zu bekommen, warum RegEx und E-Mails-Adresse problematisch sind.

dies auch die SENDER hinzufügen =:

^[\w]+=[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$ 
2

alle oben genannten Lösungen zu testen, persönlich ich liebe 'The Regex Coach'

nur Google für diese Saite und es ist ein Freeware verwenden, hat mir gut gedient.

PS: Ich besitze kein Interesse an dem Produkt oder dem Team, das es gebaut hat.

Verwandte Themen