给定正则表达式模式的示例日期时间格式

Posted

技术标签:

【中文标题】给定正则表达式模式的示例日期时间格式【英文标题】:Sample DateTime Format given Regex Pattern 【发布时间】:2016-03-11 00:05:17 【问题描述】:

我已经在线查看了 Regex 文档,但似乎在这方面没有取得太大进展。 我试图了解 DateTime 的格式被赋予了特定的正则表达式模式。 那么遵循这个正则表达式模式的示例 DateTime 字符串会是什么样子:

[1-9][0-9]3\-.+T[^\.]+(Z|[\+\-].+)

目前我正在传递以下日期时间:

2016-03-10T23:34:32.1898018Z

到基于上述正则表达式验证内容的 Web 服务(失败)。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

看起来如果您从测试输入中删除毫秒,它会匹配。因此,如果您希望该格式匹配,您可以将正则表达式更改为读取

[1-9][0-9]3\-[0-1]?[1-9]\-[0-3]?[0-9]+T.+[\.][0-9]+(Z|[\+\-].+)

【讨论】:

感谢您的快速回复和图表,非常有帮助!我将删除毫秒,看看它是否有效...... 没问题。顺便说一句,正则表达式开头的额外部分 (\-[0-1]?[1-9]\-[0-3]?[0-9]+) 确保以某种方式输入日期部分。在您的表达中,这将匹配:2016-03T23:34:32Z【参考方案2】:

您提到的正则表达式可以解析这些日期:

2009-06-15T13:45:30-07:00(UTC-7 时区) 2009-06-15T13:45:30+07:00(UTC+7 时区) 2009-06-15T13:45:30Z(“Z”代表 UTC 时区)

如果您想解析此日期 2016-03-10T23:34:32.1898018Z(以毫秒为单位),请将正则表达式更改为:

[1-9][0-9]3\-.+T[^\.]+\.[0-9]+(Z|[\+\-].+)

【讨论】:

感谢您提供的信息,它确实有助于理解这个问题。

以上是关于给定正则表达式模式的示例日期时间格式的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个正则表达式匹配?

pandas extractall() 没有提取给定正则表达式的所有案例?

寻找正则表达式以匹配特定模式

python笔记-正则表达式

正则表达式在javascript中重新排序部分日期

Javascript 日期正则表达式 DD/MM/YYYY