我需要获取符合格式' 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/对其进行了测试。
答案 0 :(得分:0)
您使用^
repexp字符。这意味着:(0[1-9]|[12][0-9]|3[01])[-\/](0[1-9]|1[012])
必须在字符串的开头。你的正则表达式适用于:
$r='07/11 A 17/11';
所以,删除^
字符。