「preg_match に不明な修飾子 'g'」が表示されるのはなぜですか?

DDD
リリース: 2024-11-12 09:23:02
オリジナル
442 人が閲覧しました

Why Am I Getting

「preg_match の不明な修飾子 'g': パズルを解く」

PHP の preg_match 関数の強力なパターン マッチング機能を利用しようとする場合を実行すると、「不明な修飾子 'g'」という謎のエラー メッセージが表示される場合があります。このエラーは、サポートされている修飾子に関する理解が不足しているために発生します。

電子メール アドレスの検証を目的とした問題の正規表現には、グローバル一致を示す不可解な「g」修飾子が含まれています。ただし、preg_match は「g」修飾子をサポートしていないため、前述のエラーが発生します。代わりに、グローバル パターン マッチング用に設計された preg_match_all 関数を使用してください。

この問題を修正するには、正規表現内の "/gim" を "/im" に置き換えるだけです。 「i」修飾子は大文字と小文字を区別せず、「m」修飾子は複数行の一致を有効にします。

例:

preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)
ログイン後にコピー

この区別を受け入れることで、 PHP のパターン マッチング機能を効果的に活用して、データからの情報の正確かつ効率的な検証と抽出を保証できます。

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

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