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

如何编写Regex匹配指定行中的最后一个数字

正则匹配解决方案

问题根因

你原来的正则Total(?:\s*(\d+(?:,\d+)?)){1}仅会匹配第一个紧跟Total关键词后的数字,因此拿到的是第一个金额171,11,不符合提取最后一个金额的需求。

可用正则方案

方案1:匹配行尾最后一个金额(无其他干扰行时优先用)

正则写法:
(\d+,\d+)(?=\s*RON\s*$)

  • 规则说明:
    • (\d+,\d+):匹配带逗号分隔的金额数字格式,结果存入捕获组1
    • (?=\s*RON\s*$):正向预查,确认数字后跟随可选空白、RON标识、可选空白直到行末尾,确保仅匹配行的最后一个金额。

方案2:结合Total关键词匹配(避免其他无关行干扰)

正则写法:
Total.*?(\d+,\d+)\s*RON\s*$

  • 规则说明:
    • 先定位到文本中第一个Total关键词位置
    • .*?非贪婪匹配后续所有内容,直到找到行末尾最后一个符合格式的金额,结果存入捕获组1。

验证结果

针对你提供的样例文本,两种方案的捕获组1输出均为目标值203,62。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:27:02