Splunk Search

Why is a function as 3-rd arg in the "replace" function not evaluating capturing groups?

philbond
Observer

Hi all,

Due to utf16/8-mismatch, I find a lot of utf16 \xnn chars in my events; this makes the json-parser  kind of losing it.

So I want to get the right utf8 chars out of a dictionary json-table by doing:

f=replace(_raw,"\\\\x([0-9a-fA-F]{2})",json_extract(utfx,"{}.\1"))

The dictionary simply looks like [{"00":"utf8char-1"}, ..., {"AE":"é"},...]

But this doesn't seem to work, the event even gets nilled completely.

Something explicit like this does seem to work though: (here for instance, all utf16 \xAE chars get replaced by the "é" char:
f=replace(_raw,"\\\\x([0-9a-fA-F]{2})",json_extract(utfx,"{}.9E"))

or this:

f=replace(_raw,"\\\\x([0-9a-fA-F]{2})","\1")), which simply removes the "\x"

...so is it like the capt.groups of the regex in replace() is not evaluated if it is arg to another function io a plain string?

Tx.

Labels (1)
0 Karma

philbond
Observer

..bump..

Anybody??

0 Karma
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 ...