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

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

Susan Sarandon
リリース: 2024-12-17 22:34:18
オリジナル
616 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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