【发布时间】:2018-11-06 01:48:34
【问题描述】:
我正在寻找一种方法来根据我的正则表达式计算在字符串中找到的出现次数。我使用 findall() 并返回一个列表,但列表的 len() 只有 1?列表的 len() 不应该是 2 吗?
import re
string1 = r'Total $200.00 Total $900.00'
regex = r'(.*Total.*|.*Invoice.*|.*Amount.*)?(\s+?\$\s?[1-9]{1,10}.*(?:
[.,]\d{3})*(?:[.,]\d{2})?)'
patt = re.findall(regex,string1)
print(patt)
print(len(patt))
结果:
> [('Total $200.00 Total', ' $900.00')]
> 1
不确定我的正则表达式是否导致它计算错误。我希望从文件中获取总计,但有很多组合。 例子:
- 总计 900.00 美元
- 发票金额 500.00 美元
- 总计 800.00
等等
我希望对此进行计数,因为一个文件中可能有多个发票详细信息。
【问题讨论】: