Saya ingin mendapatkan kecocokan regex pertama.
Dalam hal ini, saya mendapat daftar:
text = 'aa33bbb44'
re.findall('\d+',text)
['33', '44']
Saya bisa mengekstrak elemen pertama dari daftar:
text = 'aa33bbb44'
re.findall('\d+',text)[0]
'33'
Tapi itu hanya berfungsi jika ada setidaknya satu kecocokan, jika tidak, saya akan mendapatkan kesalahan:
text = 'aazzzbbb'
re.findall('\d+',text)[0]
IndexError: daftar indeks di luar jangkauan
Dalam hal ini saya dapat mendefinisikan suatu fungsi:
def return_first_match(text):
try:
result = re.findall('\d+',text)[0]
except Exception, IndexError:
result = ''
return result
Apakah ada cara untuk mendapatkan hasil tersebut tanpa mendefinisikan fungsi baru?
len(re.findAll)==0
cek sebagai gantinya.