🖥

#python の findall で #正規表現 マッチをおこなうと、戻り値には割と癖があるので注意

2019/05/06に公開

グルーピングなしの場合

マッチした全体が配列で返ってくる

>>> 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

https://github.com/YumaInaura/YumaInaura/issues/1653

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-05-06

Discussion