Pythonのreメソッド MULTILINE

PythonのreモジュールのMULTILINEフラグは、正規表現のパターンに対して複数行モードで検索を実行するために使用されます。複数行モードでは、正規表現パターンが行の先頭 (^) および行の末尾 ($) に一致するのではなく、テキスト全体の先頭 (^) および末尾 ($) に一致するようになります。

MULTILINEフラグを使用するには、reモジュールのメソッド(searchmatchfindallなど)の引数として渡すか、正規表現パターン内で (?m) というシーケンスを使用します。

以下は、MULTILINEフラグを使用した例です:

python
import re pattern = r'^apple' text = 'apple is a fruitnbanana is also a fruitncherry is not a fruit' # 複数行モードでパターンに一致するものを検索 matches = re.findall(pattern, text, re.MULTILINE) print(matches)

この例では、正規表現パターン r'^apple' が各行の先頭に一致する部分文字列を検索しています。re.MULTILINEフラグが設定されているため、各行の先頭に対して一致が行われます。

出力は以下のようになります:

css
['apple']

MULTILINEフラグは、テキスト内の各行に対して正規表現を適用し、各行の先頭と末尾に一致する場合に役立ちます。特に、行ごとにパターンを検索または置換する場合に非常に便利です。