Quiero obtener la primera coincidencia de una expresión regular.
En este caso, tengo una lista:
text = 'aa33bbb44'
re.findall('\d+',text)
['33', '44']
Podría extraer el primer elemento de la lista:
text = 'aa33bbb44'
re.findall('\d+',text)[0]
'33'
Pero eso solo funciona si hay al menos una coincidencia, de lo contrario, obtendré un error:
text = 'aazzzbbb'
re.findall('\d+',text)[0]
IndexError: índice de lista fuera de rango
En cuyo caso podría definir una función:
def return_first_match(text):
try:
result = re.findall('\d+',text)[0]
except Exception, IndexError:
result = ''
return result
¿Existe alguna forma de obtener ese resultado sin definir una nueva función?
len(re.findAll)==0
check en su lugar.