1

我有一个 JavaScript 应用程序,我正在尝试让以下正则表达式使用从或 ( ) 到最高(H)H:mm的时间格式:00:010:0122:00

^(2[0-2]|[0-1]?[\d]):[0-5][\d]$

问题是它还允许 22 后的任何分钟,例如22:59有效,我想将其限制为22:00.

已经搜索过其他帖子,但找不到符合我条件的帖子。欢迎提出任何建议,因为此时我不确定我是否可以使用纯正则表达式来做到这一点,或者我是否应该求助于 JavaScript

4

1 回答 1

1

22:00您可以为价值和用途创建一个单独的替代方案

/^(?:(?:2[01]|[01]?\d):[0-5]\d|22:00)$/

请参阅正则表达式演示

图案细节

  • ^- 字符串的开始
  • (?:- 一个外部非捕获组的开始,用于使锚适用于组中的所有备选方案
    • (?:2[01]|[01]?\d):[0-5]\d
      • (?:2[01]|[01]?\d)- 2021或可选的01后跟任何一位数字,然后
      • :- 一个冒号
      • [0-5]\d- 一个数字从05,然后是任何一个数字
    • |- 或者
    • 22:00 - 一个22:00字符串
  • )- 外部组的结束
  • $- 字符串结束。
于 2020-01-26T12:02:28.147 回答