以下はPythonでの貪欲マッチングと複数行マッチングの例です。参考になると思います。一緒に見てみましょう
1 貪欲でないフラグ
>>> re.findall(r"a(\d+?)", "a23b") ['2'] >>> re.findall(r"a(\d+)", "a23b") ['23']
この状況を比較することに注意してください:
>>> re.findall(r"a(\d+)b", "a23b") ['23'] >>> re.findall(r"a(\d+?)b", "a23b") ['23']
2 複数の行を一致させたい場合は、次を追加しますre.S および re.M フラグ
re.S: . 改行文字と一致します (デフォルト) 改行文字と一致しません
>>> re.findall(r"a(\d+)b.+a(\d+)b", "a23b\na34b") [] >>> re.findall(r"a(\d+)b.+a(\d+)b", "a23b\na34b", re.S) [('23', '34')] >>>
re.M: ^$ フラグはすべての行と一致します (デフォルト)と $ は最初の行のみに一致します
>>> re.findall(r"^a(\d+)b", "a23b\na34b") ['23'] >>> re.findall(r"^a(\d+)b", "a23b\na34b", re.M) ['23', '34']
ただし、^ 記号がない場合は、
>>> re.findall(r"a(\d+)b", "a23b\na23b") ['23', '23']
関連する推奨事項:
Python でビデオをクロールするための単純な Web クローラーを作成する
以上がPython の貪欲マッチングと複数行マッチングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。