gpt4 book ai didi

python - 如何构建正则表达式来识别美元 ($) 金额

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

我正在尝试创建一个可以识别金额(美元)的正则表达式。问题是数据是在扫描的 PDF 文件上通过 OCR 生成的,因此数据不精确:

  • $可以用S表示
  • .可以表示为,
  • 1可以用lI
  • 表示
  • 5可以用S表示

例子:

Data:       What is should be:
S0.01 => $0.01
S1 => $1
S400.05 => $400.05
$0,01 => $0.01
S0,SI => $0.51

问题:是否可以构造一个可以搜索如此复杂模式的正则表达式?

最佳答案

没那么复杂。从一个可以匹配“原始”输出的正则表达式开始,比如

\$[0-9]+(\.[0-9]{2})?

现在,只需将有问题的字符替换为替代字符即可。

[$S][0-9SIl]+([.,][0-9SIl]{2})?

这可能会给您带来误报,因为您会在“我阅读 SI for baseball and basketball news”(SI 是 Sports 杂志的缩写)这样的句子中“找到”$1图解,但单独使用正则表达式是不可避免的。

完成匹配后,结果转换为假定的正确形式很简单:用 $ 替换所有初始 S,任何带有 .,,以及带有 5.

的任何其他 S

关于python - 如何构建正则表达式来识别美元 ($) 金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52225009/

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