2014-10-07 4 views
0

Мне нужно регулярное выражение для проверки формата даты YYYY-MM-DDThh: mm: ssZ с использованием xsd. Не могли бы вы помочь мне получить шаблон регулярных выражений?Регулярное выражение для формата даты YYYY-MM-DDThh: mm: ssZ

+4

что ты уже испробовал? Люди на SO гораздо чаще отвечают на вашу проблему, когда видят, что вы приложили немного усилий и не собираетесь писать свой код для вас! –

+0

Я думаю, что вы должны использовать xs: dateTime [ссылка здесь] (http://www.w3schools.com/schema/schema_dtypes_date.asp), если вы добавите шаблон, который вы тратите на проверку правильности XML. – Xstian

+0

Я создал файл xsd, который будет проверять входной файл XML с помощью LINQ. Однако шаблон регулярного выражения, который я использую для проверки формата даты YYYY-MM- DDThh: mm: ssZ работает не так, как ожидалось. Пожалуйста помоги. – user3419159

ответ

0

Это регулярное выражение будет проверять только дату и время, а не только дату или только время. Даты указаны в формате DD/MM/YYYY HH: mm и проверены на месяцы, количество дней в месяце и високосные годы (29/2). Поле даты может быть разделено согласованными периодами (.), Тире (-) или перемоткой вперед косые (/). Годовой диапазон 1900-9999 Время находится в 24-часовом военном формате (ЧЧ: мм: СС), с 00:00:00 до 23:59:59, где требуются поля часов и минут, включая ведущие 0 в течение часов менее 10. Datetime это выше форматы даты и времени, разделенных пробелом, с датой первого (DD/MM/YYYY HH: мм) ВАЖНО: ваш движок регулярных выражений должен поддерживать lookaheads и именованные группы использовать это выражение

(?n:^(?=\d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(?(.0?2)(?=.{3,4}(19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00))|0?[1-9]|1\d|2[0-8])(?<sep>[/.-])(?<month>0?[1-9]|1[012])\2(?<year>(19|[2-9]\d)\d{2})(?:(?=\x20\d)\x20|$))?(?<time>([01]\d|2[0-3])(:[0-5]\d){1})$) 
+1

Укажите свой источник для этого ответа. Это всего лишь копия вставки из [здесь] (http://regexlib.com/Search.aspx?k=mm%2Fdd%2Fyyyy&c=-1&m=-1&ps=20&p=2) – Habib

+0

Привет, я получаю сообщение об ошибке при использовании вышеуказанного шаблона регулярного выражения. Пожалуйста, обратитесь к приведенной ниже ошибке. Не правильно сформировано: значение атрибута «значение», связанное с типом элемента «null», не должно содержать символ «<». Пожалуйста, предложите. – user3419159

Смежные вопросы