2017-01-07 9 views
-1

Ich bin neu in regex und ich brauche etwas String aus einem dieser Text abzurufen:Regex - abrufen einige Worte zwischen zwei Strings

Begin 
    ..... 
    ..... 
    To: alias nameX <[email protected]>; alias nameY <[email protected]> 
    From: alias name <[email protected]> 
    CC: alias name1 <[email protected]>; alias name2 <[email protected]>; alias name3; 
alias name4 <[email protected]>; alias name5 <[email protected]> 
    Subject: This is a regular expression text 
    ..... 
    ..... 
    End 

Mit <(.*?)> kann ich alles wählen zwischen ‚<‘ und ‚>‘ .

Ich möchte alles zwischen '<' und '>' beginnend mit "CC:" und endend in "Betreff:" ohne die Zeichen '<' und '>' bekommen.

Grüße, Elio Fernandes

+1

Etwas wie ['(? M) (?:^CC: | \ G (?! \ A) (? =. * \ RSubjekt:)) [^ <]*<\K[^<>] +'] (https: // regex101. com/r/dxNF8Y/1)? –

+0

Try Regex Regex = neue Regex ("Cc (. *) Betreff"); –

+0

.NET: [(? M?).? '(<=^CC * <)[^<>] +'] (http://regexstorm.net/tester?p=%28%3fm%29%28%3f%3c% 3D% 5eCC. 3f *%%% 29% 3c 5b 5e%%% 3c 3e% 5D% 2b & i = Begin% 0D 0A% .....% 0D 0A% .....% 0D% 0aTo% 3a + alias Namex + +% 3caaa% 40tt.com% 3e% 3b + + alias nameY +% 3cyyy% 40tt.com% 3e% 0D% 0aFrom% 3a + Aliasname + +% 3cbbb% 40tt.com% 3e +% 0D% 0aCC% 3a + alias name1 + +% 3cccc1% 40tt.com% 3e% 3b + + alias name2 +% 3cccc2% 40tt.com% 3e% 3b + + alias name3% 3b + + alias name3 +% 3cccc4% 40tt.com% 3e% 3b + + alias name5 +% 3cccc5% 40tt.com% 3e% 0D% 0aSubject% 3a + + Dies ist + a + regulärer Ausdruck + + text% 0D 0A% .....% 0D 0A% .....% 0D% 0aEnd) –

Antwort

0

Sie für diese Aufgabe nicht reguläre Ausdrücke verwenden. Verwenden Sie eine geeignete Bibliothek zum Parsen von Mail-Headern.

Verwandte Themen