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.

0 Karma

philbond
Observer

..bump..

Anybody??

0 Karma
Get Updates on the Splunk Community!

Splunk + ThousandEyes: Correlate frontend, app, and network data to troubleshoot ...

 Are you tired of troubleshooting delays caused by siloed frontend, application, and network data? We've got a ...

Splunk Observability for AI

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

🔐 Trust at Every Hop: How mTLS in Splunk Enterprise 10.0 Makes Security Simpler

From Idea to Implementation: Why Splunk Built mTLS into Splunk Enterprise 10.0  mTLS wasn’t just a checkbox ...