Regex 用于从JSON对象中剥离敏感信息的正则表达式

Regex 用于从JSON对象中剥离敏感信息的正则表达式,regex,Regex,我有一个类似于下面的JSON对象,我想用正则表达式从中去掉敏感信息,如密码、手机号码等 示例JSON { "username":"abc", "password":"xyz123", "Security":{ "SecurityQuestion":"what is your first pet name", "SecurityAnswer": "snoopy" } } 从上面的JSON对象中,我想去掉敏感信息,如“password”和“Secur

我有一个类似于下面的JSON对象,我想用正则表达式从中去掉敏感信息,如密码、手机号码等

示例JSON

{
   "username":"abc",
   "password":"xyz123",
   "Security":{
      "SecurityQuestion":"what is your first pet name",
      "SecurityAnswer": "snoopy"
   }
}
从上面的JSON对象中,我想去掉敏感信息,如“password”和“SecurityAnswer”。我尝试了各种正则表达式模式,但它只删除了其中任何一项

我需要关于如何构造正则表达式的帮助或指导,我可以在表达式中包含任何名称,然后这些字段将从JSON中剥离出来

预期产出:

{
   "username":"abc",
   "Security":{
      "SecurityQuestion":"what is your first pet name"
   }
}
注意:如果密码是最后一个属性,那么表达式也应该能够从上一个属性中删除逗号(,)


我尝试了不同组合的表达式,但没有一个符合我的要求。

如果您想从JSON中获取值,您不需要使用正则表达式并生成非常复杂的正则表达式

var data = {
  "username":"abc",
  "password":"xyz123",
  "Security":{
  "SecurityQuestion":"what is your first pet name",
  "SecurityAnswer": "snoopy"
   }
}
这就是您的对象,现在如果您想要检索数据,只需将其视为json

function retrieveData( Obj ) {
    return {
      username: Obj.username,
      Security:{
         SecurityQuestion: Obj.Security.SecurityQuestion
       }
    }
}

var extractedData = retrieveData(data);

不要为此使用正则表达式。使用实际的JSON库并编辑生成的对象。您真的需要使用正则表达式吗?JSON与javascript配合得非常好……我们目前正在使用CA API管理套件,它只需要一个正则表达式来剥离数据。我别无选择,只能使用正则表达式。谢谢你的回复。但是,我们目前使用的是CA API管理套件,它希望使用正则表达式来剥离数据。我别无选择,只能使用正则表达式。我们将收到一个传入的JSON请求,出于日志记录的目的,我们必须使用正则表达式删除敏感信息并记录它们,因此我没有编写任何代码的选项。但是,正则表达式在Javascript中与PHP中不同于Python等。。每种编程语言都有自己的分隔符和表达式。我从来没有听说过这个API,但我想它应该使用某种编程语言。不幸的是,API工具没有公开任何编程语言来定制行为。该工具的设计方式是,我们可以添加断言,并仅使用内置属性对其进行自定义。然后API应该提供一个文档来绕过正则表达式和数据处理。