窦帅 2021-07-19 15:35 采纳率: 50%
浏览 211
已采纳

正则表达式——'NoneType' object has no attribute 'groups'

file_lsit
Out[10]:
['.idea',
'10月.xls',
'11月.xls',
'12月.xls',
'1月.xls',
'2月.xls',
'3月.xls',
'4月.xls',
'5月.xls',
'6月.xls',
'7月.xls',
'8月.xls',
'9月.xls',
'账务分析.py']

for i in file_lsit:
a = re.search(r'\b.+[xls]\b',str(i))
b = a.groups()

Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Roaming\Python\Python38\site-packages\IPython\core\interactiveshell.py", line 3437, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 3, in
b = a.groups()
AttributeError: 'NoneType' object has no attribute 'groups'

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-07-19 15:56
    关注

    代码中需要在遍历的同时,要判断一下,没有匹配到的,即为None时给过滤掉,否则会出现None类型无XXX的属性值错误。用group获取匹配值,另外用endswith来判断更容易些。:

    
    for i in file_lsit:
        #print(i)
        if i.endswith('xls'):
            print(i)
        x=re.match('.*.xls',i)
        if x is not None:
            print(x.group())
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 7月19日
  • 创建了问题 7月19日

悬赏问题

  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用