re.match()の使い方の間違えたこと

re.match()で、matchオブジェクトのgroup参照する場合に、パターンにグループ部分を()で囲むことを忘れないように。
そうしないと後で参照できない。

re.match()でmatchオブジェクトが返ってきているか、ちゃんとチェックするのも忘れないように。

import re

pind = re.match('(\d{3})_.*', f)
if pind:
ind = int(pind.group(1))

あと、re.match()は先頭文字から比較するので、パターンの先頭に’^’付けても意味がない。
先頭以外で比較する必要があるなら、re.search()を使うこと。

コメント

タイトルとURLをコピーしました