gpt4 book ai didi

python - 是否有一个很好的正则表达式来对收到的 SIP 邀请进行多行匹配?

转载 作者:行者123 更新时间:2023-11-28 17:53:05 25 4
gpt4 key购买 nike

我真的需要 python 正则表达式,它会给我以下信息:

数据:

Received from 1.1.1.1 18:41:51:330 (123 bytes):

INVITE: sip:dsafsdf@fsdafas.com To: sdfasdfasdfas
From: "test"
Via: sdafsdfasdfasd

Sent from 1.1.1.1 18:42:51:330 (123 bytes):

INVITE: sip:dsafsdf@fsdafas.com
From: "test"
To: sdfasdfasdfas
Via: sdafsdfasdfasd

Received from 1.1.1.1 18:50:51:330 (123 bytes):

INVITE: sip:dsafsdf@fsdafas.com
Via: sdafsdfasdfasd
From: "test"
To: sdfasdfasdfas

我需要实现的是找到“已收到”的最新 INVITE,以便获得 From: header 值。所以向后搜索数据。

是否可以使用独特的正则表达式? :)

谢谢。

最佳答案

单行答案,假设您将整个 header 放入带有嵌入换行符(或 cr/nl's)的字符串中:

sorted(re.findall("Received [^\r\n]+ (\d{2}:\d{2}:\d{2}:\d{3})[^\"]+From: \"([^\r\n]+)\"", data))[-1][1]

用一个 RE 做到这一点的技巧是使用 [^\r\n] 而不是 .当你想扫描东西时。假设 from string 总是有双引号,这是可行的。双引号用于防止扫描器在第一个 Received... 时吞下整个字符串 ;)

关于python - 是否有一个很好的正则表达式来对收到的 SIP 邀请进行多行匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6204902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com