2017-01-07 8 views
-1

Я новичок в Regex, и мне нужно, чтобы получить некоторую строку из этого текста:Regex - получить несколько слов между двумя строками

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 

С <(.*?)> я могу выбрать все между «<» и «>» ,

Я хочу получить все между '<' и '>' начиная с «CC:» и заканчивая на «Subject:» без знаков «<» и «>».

С уважением, Элио Fernandes

+1

Что-то вроде ['(? M) (?:^CC: | \ G (?! \ A) (? =. * \ RSubject:)) [^ <]*<\K[^<>] +'] (https: // regex101. ком/г/dxNF8Y/1)? –

+0

Попробуйте регулярное выражение Regex = новое регулярное выражение («Cc (. *) Subject»); –

+0

. NET: ['(? M) (? <=^CC. *? <)[^<>] +'] (http://regexstorm.net/tester?p=%28%3fm%29%28%3f%3c% 3d% 5eCC. *% 3f% 3c% 29% 5b% 5e% 3c% 3e% 5d% 2b & я = Begin% 0D% 0A .....% 0D% 0A% 0D .....% 0aTo% 3a + псевдоним + НТБ +% 3caaa% 40tt.com% 3e% 3b + псевдоним + nameY +% 3cyyy% 40tt.com% 3e% 0d% 0aFrom% 3a + псевдоним + имя +% 3cbbb% 40tt.com% 3e +% 0d% 0aCC% 3a + псевдоним + имя1 +% 3cccc1% 40tt.com% 3e% 3b + псевдоним + имя2 +% 3cccc2% 40tt.com% 3e% 3b + псевдоним + name3% 3b + псевдоним + name3 +% 3cccc4% 40tt.com% 3e% 3b + псевдоним + name5 +% 3cccc5% 40tt.com% 3e% 0D% 0aSubject% 3a + Это + это + а + регулярное выражение + + текст% 0D% 0A .....% 0D% 0A% 0D .....% 0aEnd) –

ответ

0

Не использовать регулярные выражения для решения этой задачи. Используйте правильную библиотеку для разбора заголовков писем.