Splunk Search

How to run a different rex extraction only if another rex extraction did not find anything to extract?

raby1996
Path Finder

Hi all,

So I'm currently using this extraction:

| rex "(?m)Package:\s+SEA.ha(?:\n|.)*?MS:(?<MS>\s+\d+\-\d+\S\S+)" 

However I have found that this is not always present in my data, so I was wondering if there was a way where I could run this (below) rex command only when the first one doesn't find anything?

 "| rex "(?m)(?:\n|.)MS:(?<MS>\s+\S+)"

Thank you.

0 Karma
1 Solution

somesoni2
Revered Legend

Can you provide some sample logs for both patterns?
One dirty workaround would be like this

| rex "(?m)Package:\s+SEA.ha(?:\n|.)*?MS:(?<MS>\s+\d+\-\d+\S\S+)" | rex "(?m)(?:\n|.)MS:(?<MS1>\s+\S+)" | eval MS=coalesce(MS,MS1)

View solution in original post

somesoni2
Revered Legend

Can you provide some sample logs for both patterns?
One dirty workaround would be like this

| rex "(?m)Package:\s+SEA.ha(?:\n|.)*?MS:(?<MS>\s+\d+\-\d+\S\S+)" | rex "(?m)(?:\n|.)MS:(?<MS1>\s+\S+)" | eval MS=coalesce(MS,MS1)

raby1996
Path Finder

That worked great! thank you

0 Karma

raby1996
Path Finder

If you would like to convert it as an answer I'll accept it for you

0 Karma

somesoni2
Revered Legend

Here you go.

0 Karma
Get Updates on the Splunk Community!

Data Management Digest – December 2025

Welcome to the December edition of Data Management Digest! As we continue our journey of data innovation, the ...

Index This | What is broken 80% of the time by February?

December 2025 Edition   Hayyy Splunk Education Enthusiasts and the Eternally Curious!    We’re back with this ...

Unlock Faster Time-to-Value on Edge and Ingest Processor with New SPL2 Pipeline ...

Hello Splunk Community,   We're thrilled to share an exciting update that will help you manage your data more ...