Я хочу получить первое совпадение регулярного выражения.
В этом случае я получил список:
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
Есть ли способ получить этот результат без определения новой функции?