php preg_match匹配字符串末尾的字符

时间:2013-03-20 08:14:12

标签: php regex preg-match

我有一个if语句,它永远不会返回True。怎么了?

我是php和regex的新手。

$String = '123456'; 
$Pattern = "/\d{2}$/"; 

//i intend to match '56', which is the last two digit of the string.

if(preg_match($Pattern $String ,$matches))
{
 echo 'Matched';
}

如果$Pattern"/^\d{2}/",则返回true并匹配数字'12';

编辑: 我的错。上面的代码运行良好。 在实际代码中,$ String是从变量中分配的,而alwasys最后是一个点 我不知道的。 匹配上面最后两位数的要求仅用于问题解释。实际代码中需要正则表达式。

1 个答案:

答案 0 :(得分:9)

你是对的。

$String = '123456';
$Pattern = "/\d{2}$/";
$Pattern2 = "/^\d{2}/";

if(preg_match($Pattern, $String ,$matches))
{
    print_r($matches); // 56
}

if(preg_match($Pattern2, $String ,$matches))
{
    print_r($matches); // 12
}