Other Usage

Why is regex not working?

man03359
Communicator

Hi all!

I have a field called "correlation id" in my search output, out of which I am trying to extract another field called "key". e.g.

Correlation id field value: Stores_XstorePOSError_tjm1554_2023320

Then its corresponding key value: Stores_XstorePOSError_tjm1554, which I am able to achieve using this regex -

| rex field=correlation_id "^(?P<key>(?P<geo>(\w+[\._])?Stores)[\._](?P<incident_group>[^\._]+)([\._][^\._]+)?[\._](?P<device>[a-zA-Z]{3,4}[a-zA-Z\d]*))([\._])?" 

which is unfortunately not working for some correlation ids.

e.g. -

Correlation id field value: STP_Stores_DiskSpace_stp-44slcapp9_20230809

Key value coming is: STP_Stores_DiskSpace_stp

I assume it is because in the regex, it is mentioned to take "_" and not "-" 

How do I fix it?

Tags (2)
0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

It is not clear what you are expecting to get from STP_Stores_DiskSpace_stp-44slcapp9_20230809

0 Karma

man03359
Communicator

I am extracting all the other fields, "device", "key", geo", "incident_group" from the correlation_id using this regex-

| rex field=correlation_id "^(?P<key>(?P<geo>(\w+[\._])?Stores)[\._](?P<incident_group>[^\._]+)([\._][^\._]+)?[\._](?P<device>[a-zA-Z]{3,4}[a-zA-Z\d]*))([\._])?"

But unfortunately, this regex does not work for some-

e.g. STP_Stores_DiskSpace_stp-44slcapp9_20230809,

it is extracting only : STP_Stores_DiskSpace_stp instead of STP_Stores_DiskSpace_stp-44slcapp9.

I am assuming its because after stp there is "-" and not "_".

I have attached the working one for comparison.

Hope this is clear.

0 Karma

ITWhisperer
SplunkTrust
SplunkTrust
| rex field=correlation_id "^(?P<key>(?P<geo>(\w+[\._])?Stores)[\._](?P<incident_group>[^\._]+)([\._][^\._]+)?[\._](?P<device>[a-zA-Z]{3,4}[a-zA-Z\d-]*))([\._])?"
0 Karma

scelikok
SplunkTrust
SplunkTrust

Hi @man03359,

Please try below updated regex;

| rex field=correlation_id "^(?P<key>(?P<geo>(\w+[\._])?Stores)[\._](?P<incident_group>[^\._]+)([\._][^\._]+)?[\._](?P<device>[a-zA-Z]{3,4}[a-zA-Z\d-]*))([\._])?"
If this reply helps you an upvote and "Accept as Solution" is appreciated.
0 Karma

man03359
Communicator

I need to extract till STP_Stores_DiskSpace_stp-44slcapp9 under the key field from the correlation id: STP_Stores_DiskSpace_stp-44slcapp9_20230809

0 Karma
Get Updates on the Splunk Community!

Splunk at Cisco Live 2025: Learning, Innovation, and a Little Bit of Mr. Brightside

Pack your bags (and maybe your dancing shoes)—Cisco Live is heading to San Diego, June 8–12, 2025, and Splunk ...

Splunk App Dev Community Updates – What’s New and What’s Next

Welcome to your go-to roundup of everything happening in the Splunk App Dev Community! Whether you're building ...

The Latest Cisco Integrations With Splunk Platform!

Join us for an exciting tech talk where we’ll explore the latest integrations in Cisco &#43; Splunk! We’ve ...