开发者

how to check this special strings

I have a special strings to check with a PHP script. This is the format :

XX - XX:XX:XX - Somethings

such as :

  1. each XX must be ?? or a pair of digit;
  2. first XX can take every kind of digit;
  3. second XX must be from 00 and 10;
  4. third and 开发者_开发知识库fourth XX must be from 00 to 59;
  5. somethings can be everything, it doesnt matter;

These are some example :

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)

How can I do it? I think the best way is Regex, but I really don't know how to do it :) Any help is appreciated


You can do it like this

$subj = '00 - 04:38:27 - Hi';
preg_match('/^(\?\?|\d\d) - (\?\?|10|0\d):(\?\?|[0-5]\d):(\?\?|[0-5]\d) - (.*)/', $subj, $matches);

Then you can access the fields in matches:

$matches[1] = 00
$matches[2] = 04
$matches[3] = 38
$matches[4] = 27
$matches[5] = Hi


This seems to do the job (tested at http://www.spaweditor.com/scripts/regex/index.php)
/([0-9\?]{2} - (0[0-9]|10|\?\?):([0-5][0-9]|\?\?):([0-5][0-9]|\?\?) - .*)/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜