Splunk Search
Highlighted

How to create a regex to extract the first IP address from multiple IP addresses in an event line?

Contributor

There are multiple ip addresses in a raw event line and I only need the first one
How can I achieve that?

192.168.0.1 -192.168.0.5 gcgh 192.168.0.7gcgh 192.168.0.7 gcgh 192.168.0.8 gcgh 192.168.0.9 gcgh
Tags (2)
0 Karma
Highlighted

Re: How to create a regex to extract the first IP address from multiple IP addresses in an event line?

Contributor

Something like that:

([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/*\d*).+

View solution in original post

0 Karma
Highlighted

Re: How to create a regex to extract the first IP address from multiple IP addresses in an event line?

Contributor

not working .. i tried here
https://regex101.com/r/2MblRX/1

0 Karma
Highlighted

Re: How to create a regex to extract the first IP address from multiple IP addresses in an event line?

Contributor

worked by removing .+ at the end ...

0 Karma
Highlighted

Re: How to create a regex to extract the first IP address from multiple IP addresses in an event line?

Path Finder

Adding context for anyone coming here for answers.

Assuming msg is the field name, the following would result in the first IP found

| makeresults  
| eval msg = "192.128.22.2 202.134.55.89" 
| rex field=msg "(?<firstip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})"

If additional IPs needed to be extracted then a max_match = # could be added to the rex line.

Speak Up for Splunk Careers!

We want to better understand the impact Splunk experience and expertise has has on individuals' careers, and help highlight the growing demand for Splunk skills.