ホームページ >バックエンド開発 >PHPチュートリアル >PHP 正規表現で「終了区切り文字がありません」エラーが発生するのはなぜですか?

PHP 正規表現で「終了区切り文字がありません」エラーが発生するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-16 11:16:11882ブラウズ

Why Does My PHP Regular Expression Produce a

PHP の正規表現を理解する

PHP 正規表現で「終了区切り文字がありません」というエラーが発生するのはなぜですか?

PHP で正規表現を使用する場合、末尾が存在しない区切り文字を使用するとエラーが発生する可能性があります。この問題を詳しく調べてみましょう。

次の PHP コードについて考えてみましょう:

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

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

このコードを実行すると、エラーが発生します。「警告: preg_match() [function. preg-match]: 終了区切り文字 '^' が見つかりません。"

解決策: PHP 正規表現の区切り文字

PHP では、すべての正規表現を区切り文字で囲む必要があります。最も一般的に使用される区切り文字はスラッシュ (/) です。この場合、パターンをスラッシュで囲むことにより、正規表現の境界を定義します。

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

追加メモ:

  • 次のことを確認してください。パターンには小文字の「o」ではなく、文字「O」が含まれています。 (ゼロ)。
  • 唯一の目的が検証である場合は、キャプチャ グループを削除し、より単純な正規表現 /^d $/ を使用できます。
  • 詳細については、PHP ドキュメントを参照してください。の上区切り文字.

結論:

PHP で正規表現を作成するときは、このようなエラーを避けるために区切り文字を含めることが重要であることを覚えておいてください。これを理解すれば、自信を持って PHP アプリケーションの複雑なパターンを作成できます。

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

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