정규식의 첫 번째 일치를 얻고 싶습니다.
이 경우 목록이 있습니다.
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
대신 check를 사용해야 했습니다.