我想获得正则表达式的第一场比赛。
在这种情况下,我得到了一个列表:
text = 'aa33bbb44'
re.findall('\d+',text)
['33','44']
我可以提取列表的第一个元素:
text = 'aa33bbb44'
re.findall('\d+',text)[0]
'33'
但这仅在至少有一个匹配项的情况下有效,否则我会得到一个错误:
text = 'aazzzbbb'
re.findall('\d+',text)[0]
IndexError:列表索引超出范围
在这种情况下,我可以定义一个函数:
def return_first_match(text):
try:
result = re.findall('\d+',text)[0]
except Exception, IndexError:
result = ''
return result
是否有一种无需定义新功能即可获得该结果的方法?
len(re.findAll)==0
改为使用check。