海湾合作委员会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 示例
这是一个简短且易于阅读的正则表达式,包含 34 个字符:
^(25[0-5]|2[0-4]\d|[01]?\d\d?\.?){4}$
这仅匹配 0 到 255 之间的数字。