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

如何调整水果金额提取逻辑,按文本出现顺序排序并修正正则问题

发票文本水果金额提取问题

核心问题

  • 提取结果按fruit_words列表顺序返回,需调整为按目标文本中水果名称首次出现的顺序排序
  • 误提取总金额(如12.196,51这类非水果对应的金额),需排除
  • 尝试将fruit_words整合到正则表达式时触发unbalanced parenthesis括号不匹配错误;测试另一发票文本时仅提取到水果名称,未获取对应金额值

原代码片段

水果名称列表

fruit_words = ['Appels', 'Ananas', 'Peen Waspeen',
               'Tomaten Cherry', 'Sinaasappels',
               'Watermeloenen', 'Rettich', 'Peren', 'Peen', 'Mandarijnen', 'Meloenen', 'Grapefruit']

提取函数

def total_fruit_cost(file_name):
    fruit_cost_found = []
    single_fruit = [fruit for fruit in fruit_words]
    for fruit in single_fruit:
        m = re.findall(regex_fruit_cost(fruit), file_name)
        if m:
            fruit_cost_found.append(m)   
    return next(list(item for sublist in fruit_cost_found for item in sublist))

正则函数

def regex_fruit_cost(subst):
    return r"(?<=" + subst + r").*?(?P<number>[0-9,.]*)
"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:15:40