给定Regex Pattern的样本DateTime格式

时间:2016-03-11 00:05:17

标签: regex datetime

我已经在线查看了Regex文档但似乎无法在此方面取得很大进展。 我试图了解DateTime的格式是什么给出了特定的正则表达式模式。 那么样本DateTime字符串在这个正则表达式模式之后会是什么样子:

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

目前我传递的是以下DateTime:

2016-03-10T23:34:32.1898018Z

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

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

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

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

Regular expression visualization

答案 1 :(得分:1)

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

  • 2009-06-15T13:45:30-07:00(UTC-7 timezone)
  • 2009-06-15T13:45:30 + 07:00(UTC + 7 timezone)
  • 2009-06-15T13:45:30Z(" Z" UTC时区)

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

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