PHP正規表現:終了区切り文字「^」が見つかりません


102

正規表現で問題が発生しています。

これは私のコードです

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

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

私はそれを実行して取得します:

警告:preg_match()[function.preg-match]:終了区切り文字「^」が見つかりません


区切り文字を必要としないT-Regxライブラリを使用できます。
Danon、

回答:


157

PHP正規表現文字列には区切り文字が必要です。試してください:

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

また、ゼロではなく小文字のoがあることに注意してください。さらに、検証するだけの場合は、キャプチャグループは不要であり、正規表現をに簡略化でき/^\d+$/ます。

例:http : //ideone.com/Ec3zh

参照:PHP-区切り文字


2
リンクされた資料を読まない人は[]区切り記号を使用してください。そうしないと、パターン自体との競合に遭遇します。
greenoldman 2016


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.