Splunk Search

Extract a string from a field using regex.

Hi All,

I am having an issue on extracting a string in a field. For example, I have this data below:

"18/10/2018 03:44:35 - Joneil Englis (Additional comments) Hi All, this is now being investigated. We'll keep you updated on our progress. 16/10/2018 04:40:51 - David Jinn Hong Chia (Additional comments) Hi team Another Shipment Cost Document has the same issue in E1P today. 563638 15/10/2018 02:21:06 - Christian Espinosa (Additional comments) Hi All, this is now being investigated. We'll keep you updated on our progress. "

I need to get the latest name on who updated the ticket. I am trying to use a regex expression where i can get the string between the character "-" and "(" but sometimes the data of the field contains many occurrence of these characters.

I need to get the string Joneil Englis. Could anyone help me?

Thanks in advance.

0 Karma
1 Solution

Ultra Champion

If the latest occurrence is always at the start, it is fairly straightforward:

^"\d+\/\d+\/\d+\s+\d+:\d+:\d+\s+-\s+(?<name>[^\(]+)\s+\(
https://regex101.com/r/70N4wf/1

View solution in original post

0 Karma

Ultra Champion

If the latest occurrence is always at the start, it is fairly straightforward:

^"\d+\/\d+\/\d+\s+\d+:\d+:\d+\s+-\s+(?<name>[^\(]+)\s+\(
https://regex101.com/r/70N4wf/1

View solution in original post

0 Karma

Thanks Frank!

It works now.

0 Karma

Motivator

I modified the regex a little so that it will take less steps to find the match.

This is the regex: ^"[\d\/\s\:]+-\s+(?<name>[\w\s]+)
https://regex101.com/r/70N4wf/3

0 Karma

Ultra Champion

Dangerous assumption that names don't contain anything but alphanumeric and spaces. Also, yours captures the trailing space behind the name (not sure if Splunk will automatically trim that perhaps?).

But the part before the name is indeed more efficient like this, thanks 🙂

0 Karma
Don’t Miss Global Splunk
User Groups Week!

Free LIVE events worldwide 2/8-2/12
Connect, learn, and collect rad prizes
and swag!