正規表現の最初の一致を取得したい。
この場合、私はリストを取得しました:
text = 'aa33bbb44'
re.findall('\d+',text)
['33'、 '44']
リストの最初の要素を抽出できます。
text = 'aa33bbb44'
re.findall('\d+',text)[0]
'33'
ただし、これは少なくとも1つの一致がある場合にのみ機能します。そうでない場合、エラーが発生します。
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
代わりにチェックを使用する必要がありました。