正则表达式以涵盖持续时间

时间:2014-11-07 17:36:27

标签: regex range

我想写一个正则表达式来涵盖020000AM到030200 AM的持续时间。 [02:00:00 - 03:02:00] 我已经完成了下面的工作,但似乎是错误的。

[02<4#>|030[0|1|2]]<2#>

任何人都可以帮助我......

1 个答案:

答案 0 :(得分:0)

这是一个扩展的表达式:

02[0-5][0-9][0-5][0-9]|03(?:0[01][0-5][0-9]|0200)

这是扩展的表达式拆分,因此您可以阅读它&#34;更容易&#34;:

 02
 [0-5][0-9]
 [0-5][0-9]
|
 03
 (?:
   0[01]
   [0-5][0-9]
  |
   02
   00
 )

这是一个&#34;优化&#34;表达式(你可以看到它更难阅读,更难改变范围):

0(?:2[0-5][0-9][0-5][0-9]|30(?:[01][0-5][0-9]|200))