首页 > 编程语言 >Python报错 | AttributeError: 'NoneType' object has no attribute 'group'

Python报错 | AttributeError: 'NoneType' object has no attribute 'group'

时间:2023-07-23 09:55:34浏览次数:35  
标签:group no re 报错 result str print hello

报错信息

使用Python正则匹配的时候,报如下错误:

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

错误原因

报错翻译过来是:

属性错误:“NoneType”对象没有属性“group”

没有匹配到符合正则表达式的内容,但又调用了group方法。

import re

str = 'hello python!!! hello world!!!'
result = re.match('^p.*n$', str)
print(result)
print(result.group())

解决方案

方法1:如果不确定能够匹配到内容时,可以先判断,再调用group方法:

import re

str = 'hello python!!! hello world!!!'

if re.match('^p.*n$', str):
    result = re.match('^p.*n$', str)
    print(result)
    print(result.group())
else:
    print("没有找到字符串")

输出结果:

没有找到字符串

方法2:如果确定匹配的内容中有符合的内容,但不一定是在字符串的开始位置,用search函数。search函数是先扫描全部的代码块,再进行提取的。

import re

str = 'hello python!!! hello world!!!'

result = re.search('p.*?n', str)
print(result)
print(result.group())

输出结果:

<re.Match object; span=(6, 12), match='python'>
python

标签:group,no,re,报错,result,str,print,hello
From: https://www.cnblogs.com/zhangxuegold/p/17574704.html

相关文章

  • infraworks卸载不干净无法安装?一招教你如何搞定infraworks安装失败报错的问题【转载】
    infraworks专用卸载工具,完全彻底卸载删除干净infraworks各种残留注册表和文件的方法和步骤。如何卸载infraworks呢?有很多同学想把infraworks卸载后重新安装,但是发现infraworks安装到一半就失败了或者显示infraworks已安装或者安装未完成,大多数情况下其实是infraworks没有被卸载干......
  • NOI2023游记
    7.21坐飞机提前来成都,飞机晚点了一个小时,但只晚到了15分钟。酒店房间太小了,愤怒。晚上点外卖,吃了一大堆水果。水了一晚上qq。7.22早上起来pvz。报到,因为到太早会有人拿着摄像机拍一路所以9点多到的,结果是AH第一个到的被采访了,不会说话/ll。去宿舍的时候有小姐姐帮忙拎箱子......
  • NOI 2023 游记
    2023.7.22看漫画看到了凌晨三点才睡着,《有害指定同级生》,很好看。订了七点半的闹钟,八点钟起床。不慌,刷个贴吧先。早餐是肠粉。跟教练和lyx来到了机场,等飞机的时候面基了文中和海中的队员,感觉被全方位吊打了。久违地吃了顿乘务餐,这在当年可是我的最爱,可惜太久没吃早就已经忘......
  • MySQL——GROUP BY详解与优化
    在MySQL中,GROUPBY用于将具有指定列中相同值的行分组在一起。这是在处理大量数据时非常有用的功能,允许对数据进行分类和聚合。基本使用语法以下是GROUPBY子句的基本语法:"""SELECTcol1,col2,...,aggregate_function(col_name)FROMtable_nameWHEREconditionGROUP......
  • java中tomcat 加载动态库XXX.dll报错“java.lang.UnsatisfiedLinkError: already load
    错误:在Tomcat项目和supermapiserverwar包中使用了相同的supermapjavaiobject【四个jar包】,实际的访问过程如下:这时候在访问Tomcat的时候,就会出现一个错误:anexceptioncaughtatEnvironment.loadLibrary(),programwillcontinuerunning.java.lang.UnsatisfiedL......
  • 【雕爷学编程】Arduino动手做(167)---MG996R金属齿轮舵机
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题......
  • 【大联盟】20230701 传送(b) QOJ1878 【No Rest for the Wicked】
    题目描述here。题解考虑一条路径上只有\(a\)的前缀\(\max\)才是有用的,不妨考虑按照前缀\(\max\)来划分。可以发现,这些连续段直接存在单向边连接。现在,我们考虑如何求出这些连续段。一个点\(i\)可以接在前缀\(\max\)为\(a_j\)的后面当且仅当\(a_j\lea_i\leb_j\)......
  • 7/22·afternoon
    1272:【例9.16】分组背包  http://ybt.ssoier.cn:8088/problem_show.php?pid=1272#include<bits/stdc++.h>usingnamespacestd;structqwert{intw,v;}a[13][31];intV,N,T;intcnt[13],f[203];intmain(){cin>>V>>N>>T;for(inti=1......
  • notebook目录显示设置
    打开AnacondaPrompt窗口,执行第一个命令,用于安装nbextensions:pipinstalljupyter_contrib_nbextensions再执行第二个命令,用于安装javascriptandcssfilesjupytercontribnbextensioninstall--user如果这个报错,就换成下面这个jupytercontrib-nbextensioninstal......
  • JavaNote-概述及安装
    1.Java语言概述1.1Java概述是SUN(StanfordUniversityNetwork,斯坦福大学网络公司)1995年推出的一门高级编程语言。是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以在Web浏览器中运行。这些Java程序被称为Java小程序(Applet),内嵌在HTML代码中。伴......