字符串中的正则表达式IP地址

问题描述 投票:0回答:3

海湾合作委员会4.6.2 c89

是否有任何标准正则表达式可用于从字符串中提取 IP 地址。

我正在考虑使用 sscanf 和正则表达式来从下面的示例字符串中获取 IP。

这是示例字符串:

v=0 o=sip_user IN 10230 22472 IP4 NET.CAT.NTBC s=SIP_CALL c=IN IP4 10.10.10.44 m=audio 49152 RTP/AVP 0 a=rtpmap:0 PCMU/8000

因此正则表达式将位于引号之间:

sscanf(ip_string, "%s", &ip_address);

非常感谢您的建议,

c regex
3个回答
4
投票
\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b

1
投票

检查您的操作系统中是否有 regex.h 并使用定义的正则表达式库。例如Linux 示例


0
投票

这是一个简短且易于阅读的正则表达式,包含 34 个字符:

^(25[0-5]|2[0-4]\d|[01]?\d\d?\.?){4}$ 

这仅匹配 0 到 255 之间的数字。

© www.soinside.com 2019 - 2024. All rights reserved.