我有一个特殊的字符串来检查PHP脚本。格式如下:
XX - XX:XX:XX - Somethings
如:
??
或一对数字; 这些是一些例子:
00 - ??:??:?? - Blablabla // OK
99 - ??:99:?? - Blablabla // NO (99 is too high)
99 - 12:50:40 - Blablabla // NO (12 is too high)
?? - AA:50:40 - Blablabla // NO (AA is not a pair of digit)
99 - 2:50:40 - Blablabla // NO (2 is not a pair of digit; I need 02)
99 -08:49:40 - Blablabla // NO (-08 need a space)
我该怎么办?我认为最好的方法是Regex,但我真的不知道该怎么做:)感谢任何帮助
答案 0 :(得分:5)
你可以这样做
$subj = '00 - 04:38:27 - Hi';
preg_match('/^(\?\?|\d\d) - (\?\?|10|0\d):(\?\?|[0-5]\d):(\?\?|[0-5]\d) - (.*)/', $subj, $matches);
然后您可以访问匹配中的字段:
$matches[1] = 00
$matches[2] = 04
$matches[3] = 38
$matches[4] = 27
$matches[5] = Hi
答案 1 :(得分:1)
这似乎完成了工作(在http://www.spaweditor.com/scripts/regex/index.php测试)
/([0-9\?]{2} - (0[0-9]|10|\?\?):([0-5][0-9]|\?\?):([0-5][0-9]|\?\?) - .*)/