PHP preg_match()找不到匹配项

时间:2015-10-23 10:47:46

标签: php preg-match

我需要获取符合格式' dd / mm '的日期,但它似乎无法正常工作:

$r = 'D 07/11 A 17/11';
$pattern = '/^(0[1-9]|[12][0-9]|3[01])[-\/](0[1-9]|1[012])/';

if(preg_match($pattern, $r, $matches)) {
    print_r($matches);
}

正则表达式似乎有效,我已使用https://regex101.com/对其进行了测试。

1 个答案:

答案 0 :(得分:0)

您使用^ repexp字符。这意味着:(0[1-9]|[12][0-9]|3[01])[-\/](0[1-9]|1[012])必须在字符串的开头。你的正则表达式适用于:

$r='07/11 A 17/11';

所以,删除^字符。