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').