我在使用正则表达式方面遇到了一些麻烦。
这是我的代码
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
我跑了然后得到:
警告:preg_match()[function.preg-match]:
中找不到结尾分隔符'^'
答案 0 :(得分:122)
PHP正则表达式字符串需要分隔符。尝试:
$numpattern="/^([0-9]+)$/";
另外,请注意您有一个小写o,而不是零。此外,如果您只是在验证,则不需要捕获组,并且可以将正则表达式简化为/^\d+$/
。
另请参阅:PHP - Delimiters
答案 1 :(得分:20)
你的正则表达式模式必须是分隔符:
$numpattern="/^([0-9]+)$/";
答案 2 :(得分:0)
您可以使用T-Regx library,不需要定界符
pattern('^([0-9]+)$')->match($input);