Dashboards & Visualizations

How to create a regex to capture 4 different values?

VijaySrrie
Builder

Hi All,

I need help with regex

{"CreationTime": "2022-06-28T01:55:52", "ExchangeMetaData": {"BCC": [], "CC": ["cat@gmail.com", "ant@gmail.com", "sat@gmail.com", "mat@gmail.com"]

Need to capture values under CC
4 different values to be captured under CC
I tried a regex which is capturing only the first value -->    \"CC\"\:\s\[\"?(?<exchangeCc>(\w?\@?\.?)+)

Else with a different regex it is capturing all 4 values as one single value ---> CC\"\:\s+\[(?<CC>[^\]]+)

Is it possible to capture it as  4 different values?

Labels (1)
0 Karma
1 Solution

isoutamo
SplunkTrust
SplunkTrust

Hi

maybe not the most preferred version, but you could try this

| makeresults
| eval _raw = "{\"CreationTime\": \"2022-06-28T01:55:52\", \"ExchangeMetaData\": {\"BCC\": [], \"CC\": [\"cat@gmail.com\", \"ant@gmail.com\", \"sat@gmail.com\", \"mat@gmail.com\"]}}"
| rex "CC\"\:\s+\[(?<CC>[^\]]+)"
| rex max_match=0 field=CC "(?<cc>\w+@[^\"]+)+"
| fields - _time _raw

r. Ismo 

View solution in original post

isoutamo
SplunkTrust
SplunkTrust

Hi

maybe not the most preferred version, but you could try this

| makeresults
| eval _raw = "{\"CreationTime\": \"2022-06-28T01:55:52\", \"ExchangeMetaData\": {\"BCC\": [], \"CC\": [\"cat@gmail.com\", \"ant@gmail.com\", \"sat@gmail.com\", \"mat@gmail.com\"]}}"
| rex "CC\"\:\s+\[(?<CC>[^\]]+)"
| rex max_match=0 field=CC "(?<cc>\w+@[^\"]+)+"
| fields - _time _raw

r. Ismo 

VijaySrrie
Builder

@isoutamo its working, can you please explain below line?

| rex max_match=0 field=CC "(?<cc>\w+@[^\"]+)+"
Tags (1)
0 Karma

isoutamo
SplunkTrust
SplunkTrust

You can use this https://regex101.com/r/juMbja/1 to understand this (and other) better.

Named Capture Group cc (?<cc>\w+@[^\"]+)

\w matches any word character (equivalent to [a-zA-Z0-9_])
+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
@ matches the character @ with index 6410 (4016 or 1008) literally (case sensitive)Named Capture Group cc (?<cc>\w+@[^\"]+)

\w matches any word character (equivalent to [a-zA-Z0-9_])
+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
@ matches the character @ with index 6410 (4016 or 1008) literally (case sensitive)

Match a single character not present in the list below [^\"]
+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
\" matches the character " with index 3410 (2216 or 428) literally (case sensitive)

Match a single character not present in the list below [^\"]
+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
\" matches the character " with index 3410 (2216 or 428) literally (case sensitive)

 

Get Updates on the Splunk Community!

Updated Team Landing Page in Splunk Observability

We’re making some changes to the team landing page in Splunk Observability, based on your feedback. The ...

New! Splunk Observability Search Enhancements for Splunk APM Services/Traces and ...

Regardless of where you are in Splunk Observability, you can search for relevant APM targets including service ...

Webinar Recap | Revolutionizing IT Operations: The Transformative Power of AI and ML ...

The Transformative Power of AI and ML in Enhancing Observability   In the realm of IT operations, the ...