我有这个php代码
if(preg_match('/BUT[a-zA-Z0-9]+TN/', $id))
{
echo "Match found";
}
对于$id as 'BUTEqHLHxJSRr9DJZSMTN'
,它不工作/匹配。但我已经测试了正则表达式模式在线与id和它的工作。请帮我找出问题所在。
谢谢
您缺少if
语句的右括号。
if (preg_match('/BUT[a-zA-Z0-9]+TN/', $id))
^
EDIT:你的代码和正则表达式可以工作,参见工作演示。也许你在代码的其他地方有另一个问题,或者你的变量$id
可能包含不同的东西。
可以看到,这返回一个匹配。
$id = 'BUTEqHLHxJSRr9DJZSMTN';
preg_match('/BUT[a-zA-Z0-9]+TN/', $id, $match);
echo $match[0]; //=> "BUTEqHLHxJSRr9DJZSMTN"
请注意,preg_match返回整数,而不是布尔值。正确的if应该像这样:
if (preg_match('/BUT[a-zA-Z0-9]+TN/', $id) > 0)
{
echo "Match found";
}