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

如何修改Spotless插件正则以移除含静态导入的通配符导入?

解决Spotless通配符导入正则兼容静态导入的问题

直接修改searchRegex,加入对static关键字的可选匹配逻辑即可,同时调整捕获组的引用序号:

修改后的完整replaceRegex代码块:

<replaceRegex>
    <name>Remove wildcard imports</name>
    <searchRegex>import\s+(static\s+)?[^\*\s]+\*(\r\n|\r|\n)</searchRegex>
    <replacement>$2</replacement>
</replaceRegex>

正则逻辑拆解

  • import\s+:匹配开头的import关键字及后续任意空白字符
  • (static\s+)?:用?标记这部分为可选,既可以匹配普通导入,也能匹配带static的静态导入
  • [^\*\s]+:匹配通配符*之前的包路径,排除*和空白字符,确保只抓取合法的包名部分
  • \*:精准匹配通配符*
  • (\r\n|\r|\n):捕获任意格式的换行符,通过$2引用保留原换行,避免破坏代码结构

效果验证

  • 普通通配符导入:import com.example.* → 会被匹配并移除,仅保留换行
  • 静态通配符导入:import static com.example.utils.* → 同样会被匹配并移除,仅保留换行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:55:25