问题描述
我需要使用Splunk索引器上的正则表达式来屏蔽数组中的传入JSON请求。 JSON数据如下所示:
{"Name":["Jobs","Bill"]}
我希望掩盖传入的数据,使其看起来像这样:
{"Name":["******","******"]}
我用来屏蔽数据的正则表达式看起来像这样:
s/\"Name\":\"[^"]*\"/"Name":"******"/g
但是由于某些原因,我无法屏蔽JSON数据。你们任何一个好人都可以帮忙吗?
解决方法
您可以使用
SagaManager
要支持转义的s/(?:\G(?!^)\",|\"Name\":\[)\"\K[^\"]*/******/g
,请使用
\"
请参见regex demo #1和regex demo #2
详细信息
-
s/(?:\G(?!^)\",|\"Name\":\[)\"\K[^\"\\]*(?:\\.[^\"\\]*)*/******/g
-上一场比赛的结束,然后是(?:\G(?!^)\",|\"Name\":\[)
子字符串,或",
子字符串 -
"Name":[
-\"
字符 -
"
-匹配重置运算符将舍弃到目前为止已匹配的所有文本 -
\K
-除[^\"]*
以外的零个或多个字符。 -
"
-除[^\"\\]*(?:\\.[^\"\\]*)*
和"
之外的任何0+字符,然后是\
的零个或多个重复,后跟任意一个char,但有一个换行符,然后\
和\
以外的任何0+个字符。