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

Java中使用正则表达式无法替换字符串问题求助

解决方案
  • 核心思路:用正则表达式的捕获组匹配目标模式,将等号后的数字替换为$加对应的test前缀。
  • 正确代码示例:
String original = "abc test=0 test1=123 test2=764";
String result = original.replaceAll("(test\\d*)=\\d+", "$1=$$$1");
System.out.println(result);
  • 代码说明:

    1. 正则(test\\d*)=\\d+:
      • (test\\d*):捕获组1,匹配test开头,后面可跟0个或多个数字,覆盖test、test1、test2这类场景
      • =\\d+:匹配等号后的1个或多个数字
    2. 替换串$1=$$$1:
      • $1:引用捕获组1的内容(比如test或test1)
      • $$:Java中replaceAll里$是特殊字符,需用$$表示真实的$符号
      • 最终组合出test=$test、test1=$test1的格式
  • 你的尝试无效原因:

    • test%:匹配的是test后紧跟%,原字符串无此模式,无法匹配
    • test[.*]:[.*]是字符集,仅匹配test后接.或*,和需求不匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:25:33