我想在 json 字符串中隐藏某些密码类型的单词,例如:
"password":"foobar1"
将被替换为
"password":"XXXXX"
或者
"pwd":"foobar1"
将被替换为
"pwd":"XXXXX"
我能够使用以下 Pattern 和 replaceAll 方法来做到这一点
REGEX_JSON_PASSWORD =
Pattern.compile("\"(?i)(password|pwd)\":\"[\\w\\p{Punct}&&[^&]]*?\"");
replacementString =
REGEX_JSON_PASSWORD.matcher(returnMe).replaceAll("\"$1\":\"XXXXXXXXXXXXXXXX\"");
我不喜欢在替换字符串中添加双引号,但如果我不添加它们,我得到的只是
pwd:foobar1
(没有引号)
有没有比上面显示的更有效的方法来实现 replaceAll?