为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我在正则表达式中找不到这个字符串?

为什么我在正则表达式中找不到这个字符串?

翻阅古今 2024-01-24 20:35:52
lines = []total_check = 0with pdfplumber.open(file) as pdf:    pages = pdf.pages    for page in pdf.pages:        text = page.extract_text()        for line in text.split('\n'):            print(line)输出数据:Totaalbedrag excl. btw € 25,00当我尝试从数据中检索增值税时:KVK_re = re.compile(r'(excl. btw .+)')KVK_re.search(data).group(0)输出:AttributeError:“NoneType”对象没有属性“group”KVK_re = re.compile(r'(excl. btw .+)')KVK_re.search(r'excl. btw € 25,00').group(0)输出:'排除。顺便说一句 € 25,00'当我将文字输出粘贴到搜索中时,它怎么可能找到数字 € 25,00 而当我输入数据变量时却找不到?请帮我!
查看完整描述

2 回答

?
米脂

TA贡献1836条经验 获得超3个赞

在大多数情况下,当模式中使用文字空格并且没有匹配时,原因是不可见字符或不间断空格。

当您有不间断空格 时,\xA0您可以简单地将文字空格替换为\s来匹配任何空白,或[ \xA0]匹配任一空格。

在这种情况下,似乎可能存在空格和一些不可见字符的组合,因此,您可以使用\W匹配任何非单词字符而不是文字空格:

r'excl\.\W+btw\W.+'


查看完整回答
反对 回复 2024-01-24
?
杨魅力

TA贡献1811条经验 获得超6个赞

您没有提供对象的内容data是什么,但错误消息只是说找不到正则表达式。因此,您可能正在对不包含该特定字符串的数据调用搜索。


$ KVK_re = re.compile(r'(excl. btw .+)')

$ KVK_re.search('test').group(0)

AttributeError: 'NoneType' object has no attribute 'group'


查看完整回答
反对 回复 2024-01-24
  • 2 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信