Php 准备比赛时间,允许但忽略休息

Php 准备比赛时间,允许但忽略休息,php,regex,preg-match,Php,Regex,Preg Match,我试图在pregmatch中匹配24小时的时间,并在后面添加一些空格和日期。 我只对前5个字符的时间感兴趣 所以时间(前5个字符)和之后的任何事情都应该被允许,但忽略 示例 23:20 2014-09-29 我离这里有多远 $time = '10:30'; $pattern = '~^([0-1][0-9]|2[0-3]):([0-5][0-9])$~i'; if (preg_match($pattern, $time, $m)) { print_

我试图在pregmatch中匹配24小时的时间,并在后面添加一些空格和日期。
我只对前5个字符的时间感兴趣

所以时间(前5个字符)和之后的任何事情都应该被允许,但忽略

示例
23:20 2014-09-29

我离这里有多远

     $time = '10:30';
     $pattern = '~^([0-1][0-9]|2[0-3]):([0-5][0-9])$~i';
     if (preg_match($pattern, $time, $m)) {
         print_r(" THATS IS A WRAP");
     } else {
         print_r(" INVALID TIME ");
     }
范例
23:20 2014-09-29

^([0-1][0-9]|2[0-3]):([0-5][0-9])$
试试这个。你不远。只是你不匹配
am
pm
。请参阅演示


只需移除
$
锚定:

$time = '10:30';
$pattern = '~^([0-1][0-9]|2[0-3]):([0-5][0-9])~';
//                                     here __^
if (preg_match($pattern, $time, $m)) {
     print_r(" THATS IS A WRAP");
} else {
     print_r(" INVALID TIME ");
}

另外,
/i
修饰符在这里是多余的,因为这里没有任何字母。

你能举一些被接受和错误句子的例子吗。它应该是
23:20
或类似的。但是如果在那之后还有时间呢。没有找到。谢谢你,先生。你能推荐一些好的正则表达式教程网站吗?@mornenel:不客气。这是一个很好的网站: