Я хочу отримати перший збіг регулярного виразу.
У цьому випадку я отримав список:
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замість цього перевірку.