繁体   English   中英

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

[英]Regular Expression for 12hr Time Format

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

我用这个

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

但这是不接受的。

我的时间格式将是12hr格式(03:23:15 AM),就像这样。 任何人都知道与此相关的正则表达式吗???

你可以试试这个吗?

([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(含)之间的分钟,秒
  • 空格是可选的
  • 最后,将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)

正则表达式也包括上午

(\\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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM