如何解释XSD中的日期时间模式?

时间:2016-02-17 17:10:35

标签: regex xml xsd

我在XSD中有以下正则表达式模式,我无法找到正确的格式,并且我的数据在验证时失败了,有人可以帮我吗?

他们都失败了

<xsd:restriction base="xsd:string"> 
      <xsd:pattern value="(\d{4}-\d{2}-\d{2})(T(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2})(.\d{6})(\+|\-)(\d{4})"/>
</xsd:restriction

以下是我的尝试:

2013-04-26 17:12.000000 + 0000

2013-04-26T17:12.000000 + 0000

2013-04-26 17:12.000000-0000

2013-04-26'T'17:12.000000 + 0000

2 个答案:

答案 0 :(得分:3)

你错过了重复。 (:[0-5][0-9]){2})表示您需要:[0-5][0-9]的模式(放置在捕获组中,因此它现在是一个单位)两次({2})。

这些匹配

2015-01-01T17:12:27.000000+0000
2013-04-26T17:12:00.000000+0000

时间值由T组成,表示时间,后跟两位数小时:,后跟两位数分钟:,然后是两位数秒,.后跟六位数毫秒,然后以+-结尾,后跟四位数的时间偏移。

答案 1 :(得分:0)

解决

以下格式:

2016-04-23T09:09:09.000000 + 0000