Python の貪欲マッチングと複数行マッチング

不言
リリース: 2018-04-19 10:29:48
オリジナル
2202 人が閲覧しました

以下は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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!