ฉันต้องการรับการแข่งขันครั้งแรกของ regex
ในกรณีนี้ฉันมีรายชื่อ:
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
ตรวจสอบแทน