В настоящее время я пытаюсь создать Regex, который соответствует/проверяет строку XSDDateTime. Я нашел несколько в Интернете, но никто из них не делает приличную проверку на 31 февраля и т. Д., И я бы хотел, чтобы он также проверял високосные годы.RegEx для XSDDateTime
То, что я получил до сих пор
[1-9][0-9]{3}\-(0[1-9]|1[1-2])\-(0[1-9]|1[1-9]|2[])T(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(Z|\+|\-(0[1-9]|1[1-2]):(0[1-9]|1[1-2]))
, но это не будет выдавать ошибку за 31 февраля ...
Есть ли правильное RegEx для этого я просто еще не нашли ? Потому что строить один с нуля очень грязно. Любая помощь будет оценена.
ли это быть регулярным выражением? На каком языке вы это делаете? – tomsv
Я делаю это в PHP прямо сейчас, но это должно быть скорее независимым от языка. Я думаю, что – Xenonite
Вы не должны делать это с помощью регулярного выражения, в то время как с некоторой борьбой вы можете добавить спецификации февральского месяца, а что нет, но вы можете ' я действительно занимаюсь високосными годами, поскольку регулярное выражение и математика не идут хорошо вместе, не говоря уже о том, что вам также придется включать «2000 год» (это не високосный год) и так далее. –