RegEx - вырезать средину строки

Подскажите, как вырезать ip-адрес из From?

INVITE sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 10.38.16.16:5060;branch=z9hG4bK77cdade0;received=10.38.16.16;rport=5060
From: <sip:[email protected]>;tag=as163688ee
To: <sip:[email protected]:5060>
CSeq: 102 INVITE

Ответы (1 шт):

Автор решения: Rabban Keyak

Поскольку поле From в SIP-протоколе стандартизировано, должно хватить проверки начала строки с "From:" и взятия текста между символами '@' и '>': (?<=^From:)[^@]+@\K[^>]+.

Вернее даже так: ^From:[^@]+@\K[^>]+. Positive Lookbehind использовать смысла нет, если после него потом всё-равно идёт последовательность сброса соответствия ('\K').

→ Ссылка