gpt4 book ai didi

python - 如何获得正则表达式的最近匹配

转载 作者:太空宇宙 更新时间:2023-11-04 03:23:00 25 4
gpt4 key购买 nike

我有一个使用正则表达式从文本 (format = mm-dd-yyyy) 中提取日期的代码。

注意:文本是在票据图像上使用 OCR 获得的。因此,预期的日期格式是 mm-dd-yyyy,但它可以是使用 OCR 获得的任何随机文本。

import re
date_reg_exp = re.compile('\d{2}[-/.]\d{2}[-/.]\d{4}') #works for mm-dd-yyyy
matches_list=date_reg_exp.findall(test_str)
for match in matches_list2:
print match

如果我有一个字符串 'This is a text extracted from OCR 09-11-2015' 上面的代码有效并得到日期作为输出 '09-11-2015'。但是,如果我有一个字符串 'This is o text extractud fram OCR 09-11-201 5''This is o text xtractud fram OCR 09-11-201''This is o text xtractud fram OCR O9-11-201' 它失败了。如何为这种情况编写代码,它也会选择最近的匹配项。

最佳答案

有几种方法可以实现与正则表达式的近似匹配。最“理论上直接”的方法很可能需要您执行 edit-distance -喜欢dynamic programming计算正则表达式的 DFA .

这是一个编码起来相当棘手的算法,它的实现并不多。最著名的是Agrep (从技术上讲,agrep 工具实现了多种算法,但其中最著名的是模糊正则表达式匹配)。

通过此关键字进行简短的谷歌搜索会得到 this library ,它似乎具有 Python 绑定(bind),可能正是您所需要的。

关于python - 如何获得正则表达式的最近匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34085616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com