ホームページ >バックエンド開発 >PHPチュートリアル >PHP の「preg_match()」関数が「終了区切り文字がありません」エラーをスローするのはなぜですか?

PHP の「preg_match()」関数が「終了区切り文字がありません」エラーをスローするのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-17 22:34:18619ブラウズ

Why Does My PHP `preg_match()` Function Throw a

PHP 正規表現: 区切り文字エラー

問題:

次の PHP コードを実行するとき、エラーは発生した:

$pattern = "^([0-9]+)$";

if (preg_match($pattern, $input))
   echo "yes";
else
   echo "nope";

エラー メッセージは次のとおりです:「警告: preg_match() [function.preg-match]: 終了区切り文字 '^' が見つかりません。」

調査:

このエラーは、正規表現パターンに終了区切り文字が欠如していることを示唆しています。キャレット記号「^」で示されます。

解決策:

PHP では、正規表現文字列には区切り文字が必要です。この問題を解決するには、パターンを区切り文字で囲みます:

$numPattern = "/^([0-9]+)$/";

追加の考慮事項:

  1. パターン内の文字「o」が小文字であることを確認してください。 、数字のゼロ (0) とは対照的です。
  2. 入力を検証することのみが目的の場合、キャプチャ グループを削除し、正規表現を次のように簡素化できます。
/^\d+$/

詳細については、PHP 区切り文字に関するドキュメントを参照してください。

以上がPHP の「preg_match()」関数が「終了区切り文字がありません」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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