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

fin*_*man 85 php regex pcre preg-match

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

这是我的代码

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

if (preg_match($pattern, $input))
   echo "yes";
else
   echo "nope";
Run Code Online (Sandbox Code Playgroud)

我跑了然后得到:

警告:preg_match()[function.preg-match]:找不到结尾分隔符'^'

Kob*_*obi 138

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

$numpattern="/^([0-9]+)$/";
Run Code Online (Sandbox Code Playgroud)

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

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

另请参阅:PHP - 分隔符

  • 对于那些不阅读链接材料的人,请使用`[` 和`]` 分隔符,否则会与模式本身发生冲突。 (3认同)

Dav*_*ers 21

您的正则表达式模式需要在分隔符中:

$numpattern="/^([0-9]+)$/";
Run Code Online (Sandbox Code Playgroud)