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

如何使用正则表达式从交易通知字符串中提取指定高亮数值

正则匹配方案

原有正则失效原因

  • 第一条正则(?<=tk )(.+\d):第一笔消费记录的金额前缀不是TK,同时正则默认区分大小写,即使匹配第二条的大写TK也无法命中;且.+\d为贪婪匹配,会抓取到行尾最后一个数字,无法精准提取金额。
  • 第二条正则\d.+ (?=bdt):第二笔退款记录的金额后缀没有BDT标识,同时同样存在大小写、贪婪匹配的问题,因此匹配失败。

最优匹配方案(可同时匹配两条记录的目标金额)

你要提取的两个目标数值都被<code>标签包裹,直接用如下正则即可一次性命中两个目标值:
(?<=<code>)[\d,.]+(?=</code>)

规则说明:

  • (?<=<code>):定位到<code>结束的位置,只匹配标签后面的内容
  • [\d,.]+:只匹配由数字、千位分隔逗号、小数点组成的金额格式
  • (?=</code>):定位到</code>开始的位置,只匹配标签前面的内容
    测试结果:第一条记录提取到10.00,第二条记录提取到20,312.84,完全符合要求。

无标签辅助的匹配方案

如果后续处理的原始文本没有<code>标签标识,可以分别适配两种交易通知格式:

  • 消费类通知(第一条)匹配规则:(?<=Purchased )[\d,.]+(?= BDT)
  • 退款类通知(第二条)匹配规则:(?<=TK )[\d,.]+(?= has been refunded)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:12:02