给定正则表达式模式的示例日期时间格式
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|[\+\-].+)
【讨论】:
感谢您提供的信息,它确实有助于理解这个问题。以上是关于给定正则表达式模式的示例日期时间格式的主要内容,如果未能解决你的问题,请参考以下文章