Python正则表达式出现AttributeError:NoneType对象无group属性求助
问题排查与修复
错误根源
你写的正则表达式r'ddd-ddd-dddd'里的d是普通字符,只会匹配字母"d",而不是数字。所以search()方法找不到符合该格式的内容,返回了None,调用None.group()自然就触发了AttributeError。
修复代码
把正则里的d换成表示任意数字的元字符\d,同时建议先判断匹配结果是否有效,再调用group():
import re phonenumregex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d') mo = phonenumregex.search("My number is 415-555-4242") if mo: print("Phone Number found: " + mo.group()) else: print("No phone number found.")
也可以用量词简化正则写法,效果完全一致:
phonenumregex = re.compile(r'\d{3}-\d{3}-\d{4}')
内容的提问来源于stack exchange,提问作者Anikait Agarwal
相关产品推荐
相关产品推荐

