ホームページ >バックエンド開発 >PHPチュートリアル >PHP で preg_match が「不明な修飾子 'g'」エラーをスローするのはなぜですか?

PHP で preg_match が「不明な修飾子 'g'」エラーをスローするのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-12 01:00:03930ブラウズ

Why Does preg_match Throw an

PHP で preg_match を使用する場合の「Unknown Modifier 'g' in...」エラーについて理解する

PHP で preg_match 関数を使用する場合PHP を使用しようとすると、「不明な修飾子 'g'」というエラー メッセージが表示されることがあります。正規表現の「g」修飾子。

正規表現の「g」修飾子は、通常、文字列内で出現するパターンをすべて検索するためのグローバル検索に使用されます。ただし、この修飾子を preg_match と組み合わせて使用​​すると、 preg_match は「i」と「m」のみをサポートしているため、この矛盾の背後にある理由は認識されていません。 modifiers.

この問題を解決し、preg_match を使用してグローバル検索を実行するには、代わりに preg_match_all 関数を使用する必要があります。この関数は、文字列内のパターンのすべての出現を照合して、必要なグローバルを提供することで preg_match の機能を拡張します。

したがって、指定したコード スニペットを修正してグローバル検索を実行するには、preg_match 関数を含む行を変更して使用します。 preg_match_all:

preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)

適切な修飾子を付けて preg_match_all を利用すると、文字列内で出現する電子メール アドレス パターンをすべて見つけることができ、「不明な修飾子 'g' in...」エラー メッセージが表示されるのを回避できます。 .

以上がPHP で preg_match が「不明な修飾子 'g'」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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