【发布时间】:2020-01-03 08:04:43
【问题描述】:
在我的 Ruby 应用程序中,我有以下正则表达式可以帮助我从日志中删除敏感信息:
/(\\"|")secure[^:]+:\s*\1.*?\1/
当日志中有以下信息时,它会起作用:
{"secure_data": "Test"}
但是当我在日志中有对象而不是字符串时,它不起作用:
{"secure_data": {"name": "Test"}}
我如何更新正则表达式以适用于这两种情况?
【问题讨论】:
-
不要使用 RegEx 解析 JSON。请改用适当的解析器。
-
您可以使用:
"secure[^:]+:\s*(?:"[^"]*"|{[^}]*})或查看:rubular.com/r/pdx04bSICE4xQX