当前位置: 首页 > 面试题库 >

Python +正则表达式:AttributeError:'NoneType'对象没有属性'groups'

欧阳嘉
2023-03-14
问题内容

我有一个要提取其子集的字符串。这是较大的Python脚本的一部分。

这是字符串:

import re

htmlString = '</dd><dt> Fine, thank you.&#160;</dt><dd> Molt bé, gràcies. (<i>mohl behh, GRAH-syuhs</i>)'

我要拉出“ Moltbé,gràcies。mohl behh,GRAH-syuhs ”。为此,我使用正则表达式re.search

SearchStr = '(\<\/dd\>\<dt\>)+ ([\w+\,\.\s]+)([\&\#\d\;]+)(\<\/dt\>\<dd\>)+ ([\w\,\s\w\s\w\?\!\.]+) (\(\<i\>)([\w\s\,\-]+)(\<\/i\>\))'

Result = re.search(SearchStr, htmlString)

print Result.groups()
AttributeError: 'NoneType' object has no attribute 'groups'

既然Result.groups()不起作用,我也不想提取(即Result.group(5)Result.group(7))。但我不明白为什么会收到此错误?正则表达式可在TextWrangler中使用,为什么不能在Python中使用呢?我是Python的初学者。


问题答案:
import re

htmlString = '</dd><dt> Fine, thank you.&#160;</dt><dd> Molt bé, gràcies. (<i>mohl behh, GRAH-syuhs</i>)'

SearchStr = '(\<\/dd\>\<dt\>)+ ([\w+\,\.\s]+)([\&\#\d\;]+)(\<\/dt\>\<dd\>)+ ([\w\,\s\w\s\w\?\!\.]+) (\(\<i\>)([\w\s\,\-]+)(\<\/i\>\))'

Result = re.search(SearchStr.decode('utf-8'), htmlString.decode('utf-8'), re.I | re.U)

print Result.groups()

这样工作。该表达式包含非拉丁字符,因此通常会失败。您必须解码为Unicode并使用re.U(Unicode)标志。

我也是一个初学者,我自己也遇到过几次这个问题。



 类似资料:
  • 问题内容: 下面的代码给出了错误: 码: 问题答案: 从代码中,我可以看到你希望允许用户下载pdf。 现在开始 去 http://localhost:5000

  • 问题内容: 我遇到了这个问题,我不明白为什么。 我从我的应用程序中获取了代码,并制作了此测试代码,因此您不必费劲地查看我的要求。 我有这个工作在其他代码。但是,在将两者进行比较之后,我无法为自己的一生解决这个问题。 在此应用程序中,出现错误“ AttributeError:’NoneType’对象没有属性’delete’”。 问题答案: 在这一行: grid不返回任何内容,因此entryBox是,

  • 我遵循项目中给出的所有指示 代码是main.py

  • 我在IPython中运行%matplotlib,但是有一个属性错误:'NoneType'对象没有属性'lower' Python 3.7;马科斯·莫哈韦10.14。6(18G84);康达matplotlib:3.1。1个pypi_0个pypi

  • 这是我的代码,它在linux上工作得很好,但是当我试图通过buildozer创建apk时,应用程序在开始时崩溃,logcat命令给出了这个结果 [警告][音频]找不到 的加载程序:跟踪(最近的调用为last)::文件“/home/moh/audio2/.buildozer/android/app/main.py”,第15行,在:文件“/home/moh/audio2/.buildozer/andr

  • 如果pk_col值为空,则应打印未定义的主键。但我得到了这个错误。“NoneType”对象没有属性“rdd”。