ホームページ >バックエンド開発 >PHPチュートリアル >正規表現における「 」と「*」の量子子の違いは何ですか?

正規表現における「 」と「*」の量子子の違いは何ですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-27 19:17:21269ブラウズ

What's the Difference Between ' ' and '*' Quantifiers in Regular Expressions?

正規表現における ' ' と '*' 数量子の違いを理解する

PHP の preg_match 正規表現では、演算子と * が使用されます先行する文字またはパターンの出現回数を指定する数量子として使用します。それらの違いの内訳は次のとおりです。

' ' 量子子

' ' 量子子は、前述の式の「1 つ以上」の出現を表します。パターンの少なくとも 1 つのインスタンスと一致しますが、存在する場合はさらに一致する可能性があります。

例:

(.+?)

この正規表現は、次の空でない文字列と一致します。文字。

'*'数量子

「*」数量子は、前述の式の「0 個以上」の出現を表します。一致しない場合も含め、任意の回数一致します。

例:

(.*?)

この正規表現は、任意の数 (ゼロを含む) の文字と一致します。

貪欲な人 vs. 貪欲でない人量指定子

デフォルトでは、量指定子は貪欲であり、可能な限り一致することを意味します。ただし、「?」を追加すると、量指定子を使用すると、貪欲さがなくなり、できるだけ一致しないようになります。

例:

a.*?b

この場合、 .*? 「a」の後の最初の「b」を見つけるために可能な最小の文字数と一致します。

以上が正規表現における「 」と「*」の量子子の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。