12 小时时间格式的正则表达式

本文关键字:正则表达式 格式 时间 小时 | 更新日期: 2023-09-27 18:37:04

我需要一种正则表达式格式来验证 AM/PM 的时间

我用了这个

^(?:0?[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$

但这在任何时候都不能接受。

我的时间格式将是 12 小时格式 ( 03:23:15 上午 ) 像这样。任何人都知道使用它的正则表达式???

12 小时时间格式的正则表达式

你能试试这个吗?

([0][0-9])|([1][0-2])':[0-5][0-9]':[0-5][0-9][:b]*(AM|PM|am|pm)
  • 匹配 xx:yy:zz 其中
  • 第一个学期([0][0-9])|([1][0-2])将 xx 匹配到 00-09 或 10-12
  • 后续项[0-5][0-9]将 yy、zz 限制为从 00-59(含 00-59)的分钟、秒
  • 空间是可选的
  • 最后 AM 或 PM 以大写或小写匹配

试试这个:

[0][0-9]|[1][0-2][:][0-5][0-9][:][0-5][0-9][ ][AM]|[PM]

试试这个:

(1[012]|[1-9])(:[0-5][0-9]){2}(''s)?(?i)(am|pm)

正则表达式也包括 am pm

(''s)?  - follow by a white space (optional)
(?i)    - next checking is case insensitive
(am|pm) - follow by am or pm

[01][0-9]:[0-5][0-9]:[0-5][0-9] (AM|PM) 应该与您的示例匹配。

[01]'d(:[0-5]'d){2} (AM|PM)如果你想简化它。

编辑:正如评论指出的那样,这行不通,请尝试以下方法:([01][0-2]|0?[1-9])(:[0-5][0-9]){2} (AM|PM)