ant2009
ant2009

Reputation: 22486

regex ip address from string

gcc 4.6.2 c89

Is there any standard regex expression that can be used to extract the IP address from a string.

I am thinking about using sscanf with a regex expression to get the IP from this sample string below.

This is the sample string:

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

So the regex will be in between the quotes:

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

Many thanks for any suggestions,

Upvotes: 1

Views: 5166

Answers (3)

Scene
Scene

Reputation: 315

Here is a short concise and easy-to-read regex with 34 characters:

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

This is matching only numbers between 0 to 255.

Upvotes: 1

Prafulla
Prafulla

Reputation: 1939

\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

Upvotes: 4

Bort
Bort

Reputation: 2491

Check your OS for regex.h and use the defined regular expression library. e.g. linux example

Upvotes: 1

Related Questions