来自字符串的正则表达式ip地址

时间:2011-12-09 00:28:52

标签: c regex

gcc 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);

非常感谢任何建议,

2 个答案:

答案 0 :(得分: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 :(得分:1)

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