PHP preg_match与模式的表达式不匹配

时间:2014-06-06 04:14:15

标签: php html regex

我有这个PHP代码

if(preg_match('/BUT[a-zA-Z0-9]+TN/', $id))
{
echo "Match found";
}

对于$id as 'BUTEqHLHxJSRr9DJZSMTN',它不能正常工作/匹配。但我已经使用id在线测试了正则表达式模式并且工作正常。请帮我找到问题。

由于

2 个答案:

答案 0 :(得分:2)

您错过了if声明的右括号。

if (preg_match('/BUT[a-zA-Z0-9]+TN/', $id))
                                          ^

编辑:您的代码和正则表达式确实有效,请参阅working demo。也许你在代码中的其他地方有另一个问题,或者你的变量$id可能包含不同的东西。

如您所见,这会返回一个匹配项。

$id = 'BUTEqHLHxJSRr9DJZSMTN';
preg_match('/BUT[a-zA-Z0-9]+TN/', $id, $match);
echo $match[0]; //=> "BUTEqHLHxJSRr9DJZSMTN"

答案 1 :(得分:0)

请注意,preg_match返回整数,而不是布尔值。适当的,如果应该看起来像:

if (preg_match('/BUT[a-zA-Z0-9]+TN/', $id) > 0)
  {
    echo "Match found";
  }