2011-12-09 29 views
1

gcc 4.6.2 c89字符串的正則表達式IP地址

是否有任何標準正則表達式可用於從字符串中提取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); 

的任何建議非常感謝,

+1

'sscanf()'不帶正則表達式。 –

回答

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 
+0

你好。謝謝,我確實看到了正則表達式。但我的問題是我如何才能在c中工作?我可以插入什麼標準的c函數?非常感謝。 – ant2009

+0

以下是C語言中正則表達式的示例代碼清單http://www.peope.net/old/regex.html – Prafulla

1

檢查你的OS爲regex.h並使用定義的正則表達式庫。例如linux example