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

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

非常感谢任何建议,

 \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 

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