PHP正则表达式:在中找不到结尾定界符'^'


102

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

这是我的代码

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

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

我运行它并得到:

警告:preg_match()[function.preg-match]:在以下位置找不到结尾定界符“ ^”


您可以使用T-Regx库,它不需要定界符。
农(Danon)'18 -10-9

Answers:


157

PHP regex字符串需要定界符。尝试:

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

另外,请注意,您使用的是小写字母o,而不是零。另外,如果您只是进行验证,则不需要捕获组,并且可以将正则表达式简化为/^\d+$/

示例:http//ideone.com/Ec3zh

另请参见:PHP-分隔符


2
对于那些不阅读链接的材料的人,请使用[]定界符,否则您将与模式本身发生冲突。
greenoldman'2


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.