I've got a requirement to mask the incoming JSON request inside an array using regular expression on Splunk indexer. The JSON data looks like this:
{"Name":["Jobs","Bill"]}
I'm expected to mask the incoming data so that it looks like this:
{"Name":["******","******"]}
And the regex I'm using to mask the data looks something like this:
s/\"Name\":\"[^"]*\"/"Name":"******"/g
But for some reason I'm unable to mask the JSON data. Could any of you good folks please help?
You can use
To support escaped
\"
, useSee the regex demo #1 and regex demo #2
Details
(?:\G(?!^)\",|\"Name\":\[)
- either the end of the previous match and then",
substring, or"Name":[
substring\"
-"
char\K
- match reset operator discarding all text matched so far[^\"]*
- any zero or more chars other than"
.[^\"\\]*(?:\\.[^\"\\]*)*
- any 0+ chars other than"
and\
and then zero or more repetitions of a\
followed with any char but a line break char and then any 0+ chars other than\
and"
.