1. ホーム
  2. python

[解決済み] findallでグループをキャプチャする?

2023-06-06 17:15:30

質問

キャプチャされたグループにアクセスするにはどうすればよいですか。 findall(r'regex(with)capturing.goes.here') ? 私は finditer を通してできることは知っていますが、繰り返したくありません。

どのように解決するのですか?

findall は、キャプチャしたグループを返すだけです。

>>> re.findall('abc(de)fg(123)', 'abcdefg123 and again abcdefg123')
[('de', '123'), ('de', '123')]

関連する文書の抜粋です。

<ブロッククオート

の重複しないマッチをすべてリストとして返します。 のリストとして返します。 文字列のリストとして返します。文字列は左から右へスキャンされ 文字列は左から右へと走査され,マッチは見つかった順に は,見つかった順に返される。もし,1つ以上の に1つ以上のグループが存在する場合,グループのリストを返す。 パターンに1つ以上のグループが存在する場合,グループのリストを返す。 はタプルのリストとなる。 パターンが複数のグループを持つ場合,これはタプルのリストになる。空 にマッチした場合は の先頭に触れない限り の先頭に触れない限り、空のマッチは結果に含まれます。