首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >日期格式mm/dd/yyyy hh:mm:ss.SSS AM/PM的要求

日期格式mm/dd/yyyy hh:mm:ss.SSS AM/PM的要求
EN

Stack Overflow用户
提问于 2015-12-21 01:29:37
回答 1查看 1.9K关注 0票数 0

我正在寻找一个正则表达式来匹配我的日期格式

mm/dd/yyyy hh:mm:ss.SSS AM/PM

我在网上发现了

^(((013578|102)/.-/.-\s(00-9|10-2):(00-9|1-59\d):(00-9|1-59\d)\s(AM|am|PM|pm))|((013456789|1012)/.-/.-\s(00-9|10-2):(00-9|1-59\d):(00-9|1-59\d)\s(AM|am|PM|pm))|((02)/.-/.-\s(00-9|10-2):(00-9|1-59\d):(00-9|1-59\d)\s(AM|am|PM|pm))|((02)/.-/.-\s(00-9|10-2):(00-9|1-59\d):(00-9|1-59\d)\s(AM|am|PM|pm)))$

这不符合我的约会对象

2014年12月6日12:45:56.12上午

怎样才能接受以上几毫秒呢?

EN

回答 1

Stack Overflow用户

发布于 2015-12-21 01:59:59

一个简单而快速的解决方案:

\d\d\/\d\d\/\d\d\d\d \d\d\:\d\d\:\d\d\.\d\d\d (AM|PM|am|pm)

如果您想在PCRE中使用它,需要在模式的开始和结束中添加一个像#这样的分隔符:

#\d\d\/\d\d\/\d\d\d\d \d\d\:\d\d\:\d\d\.\d\d\d (AM|PM|am|pm)#

为了获得更高的准确性:

([0]\d|1[012])\/([012]\d|3[01])\/\d\d\d\d ([01]\d|2[0123])\:[012345]\d\:[012345]\d\.\d\d\d (AM|PM|am|pm)

嗯,第一种方法可以接受无效的值,比如99/99/9999 99:99:99.999 AM,我更倾向于使用第二种方法,因为在99.99%的情况下,微优化是不好的:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34387825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档