Splunk Search

Extraction using regular expressions

honobe
Explorer

I want to extract a character string using a regular expression.

I am considering extracting the field (message ID) using the rex command, but I can not extract it with regular expressions.

Message ID = '< xxxxxxxx>'

※I want to extract characters between 「'<」 and 「>'」
※There is no space in the actual log.

I want to extract xxxxxxxx and make the field of message ID have the following form.

Message ID = xxxxxxxx

What kind of regular expression can I use to extract xxxxxxxx?

0 Karma
1 Solution

niketn
Legend

Try the following run-anywhere example.

| makeresults 
| eval _raw = "Message ID = '< xxxxxxxx>'"
| rex field=_raw "Message ID = '<(?<MessageID>[^>]+)>'"

You can test the rex with your sample events. Eventually, create a Field Extraction Knowledge Object for the same.

____________________________________________
| makeresults | eval message= "Happy Splunking!!!"

View solution in original post

MuS
SplunkTrust
SplunkTrust

Hi honobe,

based on the provided information this regex:

 '<(?<Message_ID>[^>]+)>'

will match everything between '< and >' and use the match in the new field called Message_ID.

This is a really basic example and can be optimised but I hope it helps to get you started ...

btw don't use field names with spaces 😉

cheers, MuS

honobe
Explorer

Thank you very much.
Thanks to your answer, I was able to solve the problem.

0 Karma

niketn
Legend

Try the following run-anywhere example.

| makeresults 
| eval _raw = "Message ID = '< xxxxxxxx>'"
| rex field=_raw "Message ID = '<(?<MessageID>[^>]+)>'"

You can test the rex with your sample events. Eventually, create a Field Extraction Knowledge Object for the same.

____________________________________________
| makeresults | eval message= "Happy Splunking!!!"

honobe
Explorer

Thank you very much.
Thanks to your answer, I was able to solve the problem.

0 Karma

MuS
SplunkTrust
SplunkTrust

typing too slow...again

Just a little tip: there is actually no need to escape the > inside of the [...] it will also work without the escaping

niketn
Legend

Thanks @Mus, I have corrected. But \ in regular expression also tells match exactly. It works either way, I missed removing it.

____________________________________________
| makeresults | eval message= "Happy Splunking!!!"
0 Karma
Get Updates on the Splunk Community!

Splunk Observability for AI

Don’t miss out on an exciting Tech Talk on Splunk Observability for AI!Discover how Splunk’s agentic AI ...

Splunk Enterprise Security 8.x: The Essential Upgrade for Threat Detection, ...

Watch On Demand the Tech Talk on November 6 at 11AM PT, and empower your SOC to reach new heights! Duration: ...

Splunk Observability as Code: From Zero to Dashboard

For the details on what Self-Service Observability and Observability as Code is, we have some awesome content ...