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

正则表达式如何惰性匹配每行任意位置的首个百分比,忽略后续匹配项

正则调整方案

调整后的正则如下,直接取第一个捕获组的内容即可得到每行首个百分比:

^.*?(\d+\.\d+%)

规则解释

  • ^ 锚定到每一行的开头,确保从行首开始检索
  • .*? 非贪婪匹配任意字符,会最短路径跳过行首到第一个百分比之间的所有内容,不会向后多匹配
  • (\d+\.\d+%) 是百分比匹配规则,放在捕获组中,捕获到的内容就是目标结果。你原有写法里的[%]+?可以简化为%,因为百分比符号只会出现一次,不需要多余的量词约束。

原有写法的问题

你之前的正则没有锚定行首,也没有做匹配范围限制,所以会命中一行内所有符合格式的百分比,自然无法只提取第一个。

匹配结果验证

针对你给出的示例文本,捕获结果如下,完全符合需求:

  • 第一行:10.00%
  • 第二行:0.9%
  • 第三行:1.58%

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 00:24:10