Python Regex“对象没有属性”

前端之家收集整理的这篇文章主要介绍了Python Regex“对象没有属性”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在整理我们需要用新内容更新的页面列表(我们正在切换媒体格式).在这个过程中,我正在编辑正确拥有新内容页面.

这是我正在做的一般想法:

>迭代文件结构并获取文件列表
>对于读取缓冲区的每个文件,使用正则表达式搜索匹配特定标记
>如果匹配,则再测试2个正则表达式匹配
>将生成的匹配(一个或另一个)写入数据库

一切正常,直到第3个正则表达式模式匹配,我得到以下内容

‘NoneType’对象没有属性’group’

# only interested in embeded content
pattern = "(<embed .*?</embed>)"

# matches content pointing to our old root
pattern2 = 'data="(http://.*?/media/.*?")'

# matches content pointing to our new root
pattern3 = 'data="(http://.*?/content/.*?")'

matches = re.findall(pattern,filebuffer)
for match in matches:
    if len(match) > 0:

    urla = re.search(pattern2,match)
    if urla.group(1) is not None:
        print filename,urla.group(1)

    urlb = re.search(pattern3,match)
    if urlb.group(1) is not None:
        print filename,urlb.group(1)

谢谢.

解决方法

您的异常意味着urla的值为None.由于urla的值由re.search调用确定,因此re.search返回None.当字符串与模式不匹配时会发生这种情况.

所以基本上你应该使用:

urla = re.search(pattern2,match)
if urla is not None:
    print filename,urla.group(1)

而不是你现在拥有的.

猜你在找的Python相关文章