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

如何用正则表达式提取交易记录中长度可变的描述字段

提取交易描述的正则解决方案

针对你提供的交易文本格式,我们可以利用正则分组+非贪婪匹配来精准提取长度和空格不固定的交易描述字段。

示例交易文本

26 Jan The Gym Debit Card Transaction £656.40

可行的Python正则实现

import re

# 交易文本示例
text = "26 Jan The Gym Debit Card Transaction £656.40"

# 定义正则模式,覆盖所有已知交易类型
pattern = r'^\d+ \w{3} (.*?) (Debit Card Transaction|Online Transaction|Direct Debit|Standing Order|Automated Credit) £\d+\.\d{2}$'

match_result = re.match(pattern, text)
if match_result:
    # 提取并清理交易描述(去除前后可能的空格)
    company_desc = match_result.group(1).strip()
    print(company_desc)  # 输出: The Gym

模式说明

  • ^\d+ \w{3}:匹配开头的日期部分(如"26 Jan"),\d+匹配日期数字,\w{3}匹配3位月份缩写
  • (.*?):非贪婪匹配,捕获日期之后、交易类型之前的所有内容(即目标交易描述),非贪婪模式避免误匹配到交易类型的内容
  • (Debit Card Transaction|...):枚举所有固定的交易类型,精准定位交易描述的结束边界
  • £\d+\.\d{2}$:匹配结尾的金额格式,确保整个字符串符合交易记录的结构

之前正则的问题

你之前的正则使用了字符集[],但字符集仅用于匹配单个字符,无法实现"排除整个固定模式"的逻辑,因此会错误地匹配零散字符,达不到预期效果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 11:17:05