Splunk Search

How to create a rex string with "#" sign?

jianyu75074
New Member

I have data

2018-07-23 21:00:54##7049015762##358479078622895##2##4000######N##ABS##|##USER_NUMBER##QUERY##1##90864

I want exact user=7049015762; number=90864,
I can use mvindex:

| eval user=mvindex(split(_raw,"##"),1)| eval number=mvindex(split(_raw,"##"),-1)

But I prefer rex if possible, thanks! (is rex more effective than mvindex?)

0 Karma
1 Solution

niketn
Legend

@jianyu75074, try the following rex command

 <yourBaseSearch>
| rex "^[^\#]+\#\#(?<user>[^\#]+)+\#\#.*\#\#(?<number>\d+)$"

Following is a run anywhere search based on the sample data provided:

| makeresults
| eval _raw="2018-07-23 21:00:54##7049015762##358479078622895##2##4000######N##ABS##|##USER_NUMBER##QUERY##1##90864"
| rex "^[^\#]+\#\#(?<user>[^\#]+)+\#\#.*\#\#(?<number>\d+)$"
____________________________________________
| makeresults | eval message= "Happy Splunking!!!"

View solution in original post

0 Karma

niketn
Legend

@jianyu75074, try the following rex command

 <yourBaseSearch>
| rex "^[^\#]+\#\#(?<user>[^\#]+)+\#\#.*\#\#(?<number>\d+)$"

Following is a run anywhere search based on the sample data provided:

| makeresults
| eval _raw="2018-07-23 21:00:54##7049015762##358479078622895##2##4000######N##ABS##|##USER_NUMBER##QUERY##1##90864"
| rex "^[^\#]+\#\#(?<user>[^\#]+)+\#\#.*\#\#(?<number>\d+)$"
____________________________________________
| makeresults | eval message= "Happy Splunking!!!"
0 Karma
Get Updates on the Splunk Community!

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...

Introducing the 2024 Splunk MVPs!

We are excited to announce the 2024 cohort of the Splunk MVP program. Splunk MVPs are passionate members of ...

Splunk Custom Visualizations App End of Life

The Splunk Custom Visualizations apps End of Life for SimpleXML will reach end of support on Dec 21, 2024, ...