You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Java正则replaceAll方法替换JSON字符串中指定敏感字段的值

适配需求的正则表达式及使用示例

你需要的正则为:(?<=(password|userword)":")[^"]*

正则说明

  • (?<=(password|userword)":"):正向零宽后行断言,定位到password":"或者userword":"之后的位置,这部分内容不会被替换
  • [^"]*:匹配连续的非双引号字符,正好对应JSON里字符串类型的字段取值

Java实现代码

String target = "[{\"nickName\":\"andy\",\"password\":\"wei\",\"userword\":\"weitest32123\"}]";
String regex = "(?<=(password|userword)\":\")[^\"]*";
String res = target.replaceAll(regex, "xxx");

执行后得到的res就是你预期的结果:[{\"nickName\":\"andy\",\"password\":\"xxx\",\"userword\":\"xxx\"}]

注意事项

上述正则仅适配标准无转义双引号的JSON字符串场景,如果你的JSON存在字段值内转义双引号、多层嵌套等复杂情况,更稳妥的方案是先将JSON字符串解析为Java对象,修改对应字段后再序列化回字符串。

内容的提问来源于stack exchange,提问作者Wei。

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 03:36:00