PHP正则表达式:找不到结尾分隔符'^'

时间:2011-01-08 17:01:04

标签: php regex preg-match pcre

我在使用正则表达式方面遇到了一些麻烦。

这是我的代码

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

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

我跑了然后得到:

  

警告:preg_match()[function.preg-match]:

中找不到结尾分隔符'^'

3 个答案:

答案 0 :(得分:122)

PHP正则表达式字符串需要分隔符。尝试:

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

另外,请注意您有一个小写o,而不是零。此外,如果您只是在验证,则不需要捕获组,并且可以将正则表达式简化为/^\d+$/

示例:http://ideone.com/Ec3zh

另请参阅:PHP - Delimiters

答案 1 :(得分:20)

你的正则表达式模式必须是分隔符:

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

答案 2 :(得分:0)

您可以使用T-Regx library,不需要定界符

pattern('^([0-9]+)$')->match($input);