字符串的正则表达式" hh:mm:ss tt"

时间:2015-05-27 04:26:16

标签: regex c#-4.0

如何限制字符串具有以下值之一?所有都不区分大小写:

  1. HH:MM:
  2. HH:MM:SS
  3. hh:mm tt
  4. hh:mm:ss tt
  5. 我试过这个正则表达式^ [hh:mm] [:ss]?[tt]?[:ss tt]?$,但它没有给我预期的结果。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

我认为你会在角色等级[ab]和群组(abc)之间产生混淆 试试这个正则表达式:

^(hh:mm)(?::ss)?(?: tt)?$

其中:

^           : begining of string
  (hh:mm)   : capture group that contains 'hh:mm'
  (?::ss)?  : optional non capture group that contains ':ss'
  (?: tt)?  : optional non capture group that contains ' tt'
$           : end of string