ホームページ > バックエンド開発 > PHPチュートリアル > 正規表現内の最短一致パターンの解析

正規表現内の最短一致パターンの解析

巴扎黑
リリース: 2023-03-16 10:32:01
オリジナル
1861 人が閲覧しました

最短一致を使用する必要があります: テキストがある場合は、最長ではなく、可能な限り最短のみを一致させたいと考えます。以下の記事では、正規表現における最短一致パターンの使い方について詳しく紹介していますので、ぜひ参考にしてみてください。

前書き

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

<h1>hello world</h1>

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


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

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

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

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


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


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

以下に示すように、上記の記述で十分です:


実際の原理? も貪欲一致であり、0 から 1 までのみ一致するため、非常に単純である必要があります (

)。そのため、最初の一致に一致すると終了し、* が複数の貪欲一致に一致することを防ぎます。

以上が正規表現内の最短一致パターンの解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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