Splunk Search

Extract multiple groups (rex), key/value pairs comma separated

ejwade
Contributor

I'm looking for the regular expression wizards out there. I need to do a rex with two capture groups: one for name, and one for value. I plan to use the replace function, and throw everything else away but those two capture groups (e.g., "\1: \2").

Here are some sample events.

name="Building",value="Southwest",descendants_action="success",operation="OVERRIDE"
name="Building",value=["Northeast","Northwest"],descendants_action="failure",operation="OVERRIDE"
name="Building",value="Southeast",descendants_action="success",operation="OVERRIDE"
name="Building",value="Northwest"
name="Building",value="Northwest",operation="OVERRIDE"

So far I just have this.
^name=\"(.*)\",value=\[?(.*)\]?

Any ideas?

Labels (1)
0 Karma
1 Solution

ITWhisperer
SplunkTrust
SplunkTrust

Try something along these lines

^name=\"([^\"]*)\",value=(\[([^\]]+)\]|\"[^\"]+\")(.*)

https://regex101.com/r/id6m8s/1

View solution in original post

ITWhisperer
SplunkTrust
SplunkTrust

Try something along these lines

^name=\"([^\"]*)\",value=(\[([^\]]+)\]|\"[^\"]+\")(.*)

https://regex101.com/r/id6m8s/1

gcusello
SplunkTrust
SplunkTrust

Hi @ejwade,

you should already have these extractions because usually Splunk identifies the groups fieldname=fieldvalue.

Anyway, please try this regex:

name\=\"(?<name>[^\"]*)\",value\=\[*\"(?<values>[^\"]*)

that you can test at https://regex101.com/r/PEszES/1

Ciao.

Giuseppe

Get Updates on the Splunk Community!

Join Us for Splunk University and Get Your Bootcamp Game On!

If you know, you know! Splunk University is the vibe this summer so register today for bootcamps galore ...

.conf24 | Learning Tracks for Security, Observability, Platform, and Developers!

.conf24 is taking place at The Venetian in Las Vegas from June 11 - 14. Continue reading to learn about the ...

Announcing Scheduled Export GA for Dashboard Studio

We're excited to announce the general availability of Scheduled Export for Dashboard Studio. Starting in ...