最短一致モードの使い方の詳しい説明

php中世界最好的语言
リリース: 2018-03-29 13:47:53
オリジナル
1166 人が閲覧しました

今回は、最短一致モードの使用方法について詳しく説明します。 最短一致モードを使用する際の注意事項は何ですか?実際のケースを見てみましょう。

前書き

最近、正規表現を使用してWebページから何かを取得したいと考えていました。内容は複雑ではありませんでしたが、多くの問題がありました。以下で言うことはあまりありませんが、詳細な紹介を見てみましょう:

<h1>hello world</h1>

の h1 の開始タグと終了タグを一致させるなど、タグの先頭と末尾を一致させるために正規表現を使用する場合、多くの人は次のように書くかもしれません。こんな感じ

/<.*h1>/g
ログイン後にコピー

でも本当にこれでいいの?

* 一致する文字は前の文字の 0 個以上と一致し、貪欲一致であるため

、次の結果が得られます。

明らかにこれは私たちが望んでいることではないので、貪欲なマッチングを最小のマッチングに変更するにはどうすればよいでしょうか?

/<.*?h1>/g
ログイン後にコピー

以下に示すように、上記の書き方で十分です:

実際、原則は次のようになります。 ? も欲張りマッチであり、0 から 1 にのみマッチするため、最初のマッチに一致すると終了するので、 * が複数の貪欲マッチにマッチすることを防ぎます。

追記: ご参考までに、さらに便利な正規表現ツールを 2 つ紹介します:

この記事のケースを読んだ後は、この方法を習得したと思います。その他の関連記事は php 中国語 Web サイトにあります。

推奨読書:

Linux grep と正規表現の使用


正規表現を使用してログイン ページの入力内容を検証する

以上が最短一致モードの使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート