🖥
#python の findall で #正規表現 マッチをおこなうと、戻り値には割と癖があるので注意
グルーピングなしの場合
マッチした全体が配列で返ってくる
>>> re.findall(r'lic', 'AliceAliceAlice')
['lic', 'lic', 'lic']
カッコでグルーピングした場合
グルーピングした部分のマッチ結果が配列が返ってくる
>>> re.findall(r'l(i)c', 'AliceAliceAlice',)
['i', 'i', 'i']
カッコで複数グルーピングした場合
tuple の配列が返ってくる
>>> re.findall(r'A(li)(ce)', 'AliceAliceAlice')
[('li', 'ce'), ('li', 'ce'), ('li', 'ce')]
グルーピングしつつキャプチャしない書き方
>>> re.findall(r'l(?:i)c', 'AliceAliceAlice')
['lic', 'lic', 'lic']
Original by Github issue
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2019-05-06
Discussion