ホームページ > バックエンド開発 > PHPチュートリアル > PHP の通常の貪欲モードと遅延モード

PHP の通常の貪欲モードと遅延モード

WBOY
リリース: 2016-06-13 13:10:12
オリジナル
917 人が閲覧しました

PHP の通常の貪欲モードと遅延モード
正規表現に繰り返しを受け入れる修飾子が含まれている場合、通常の動作では、(式全体の一致を許可しながら) できるだけ多くの文字と一致します。次の式を考えてみましょう: a.*b。これは、a で始まり b で終わる最長の文字列と一致します。これを使用して aabab を検索すると、文字列 aabab 全体と一致します。これを貪欲マッチングと呼びます。

場合によっては、遅延マッチング、つまりできるだけ少ない文字のマッチングが必要になることがあります。上記の修飾子は、後ろに疑問符 ? を追加することで遅延マッチング パターンに変換できます。このように、 .*? は、任意の数の繰り返しを一致させますが、一致全体が成功する最小の繰り返しを使用することを意味します。次に、例の遅延バージョンを見てみましょう:

a.*?b は、a で始まり b で終わる最も短い文字列と一致します。 aababに適用すると、aab(1~3文字目)とab(4~5文字目)が一致します。
/i が
/s を区別しないことを示すために /i を使用する場合、遅延マッチング モードは貪欲マッチング モードになることに注意してください。

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