正規表現に問題があります。PHPの正規表現:終了デリミタ '^'がありません。
これは私のコード
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
である私はそれを実行して取得:
警告:するpreg_match()[function.pregマッチ]:いいえ、終了区切り文字は '^'
に見つかりません
正規表現に問題があります。PHPの正規表現:終了デリミタ '^'がありません。
これは私のコード
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
である私はそれを実行して取得:
警告:するpreg_match()[function.pregマッチ]:いいえ、終了区切り文字は '^'
に見つかりません
PHPの正規表現文字列には区切り文字が必要です。試してみてください:
$numpattern="/^([0-9]+)$/";
また、小文字は0で、ゼロではありません。さらに、検証するだけの場合は、キャプチャグループが不要で、正規表現を簡略化して/^\d+$/
にすることができます。
あなたの正規表現パターンが区切り文字にする必要があります:リンク資料を読んでいない人のために
$numpattern="/^([0-9]+)$/";
、使用 '['と '] '区切り文字でなければ、パターン自体と競合します。 – greenoldman