Я проверю строку даты, чтобы увидеть, является ли она одной из этих трех:
дд-мм-гггг ИЛИ гггг ИЛИ дд-мм-гггг / дд-мм-гггг
Я объединил эти три, но последний создает проблемы, так как я не могу просто сопоставить один "/", используя \ Q / \ E.
[0-9]{2}-[0-9]{2}-[0-9]{4} -> dd-mm-yyyy
[0-9]{4} -> yyyy
[0-9]{2}-[0-9]{2}-[0-9]{4}\Q/\E[0-9]{2}-[0-9]{2}-[0-9]{4} -> dd-mm-yyyy/dd-mm-yyyy
В совокупности они дадут следующее выражение:
([0-9]{2}-[0-9]{2}-[0-9]{4}|[0-9]{4}|[0-9]{2}-[0-9]{2}-[0-9]{4}\Q/\E[0-9]{2}-[0-9]{2}-[0-9]{4})
Вопрос 1: Как разрешить только один "/" между датами?
Вопрос 2: Что означает ^ в начале регулярного выражения и $ в конце? И должен
У меня это в моем
Br. Андерс
ОБНОВЛЕНИЕ: (основываясь на ответах и комментариях ниже) Спасибо! Два правильных ответа. Я пометил последний правильно, так как также был гораздо более плавный способ написать то, что я пытался сделать.
Язык, вероятно, XSLT или C #. Именно в CMS Umbraco я помещаю регулярное выражение для проверки поля ввода / ввода по умолчанию.
Это немного забавно. Нет разницы, если я добавлю ^ в начало, поэтому мой вопрос об этом.
Эта строка отлично работает: ^ (?: \ D {4} | \ d {2} - \ d {2} - \ d {4} (?: / \ D {2} - \ d {2} - \ d {4})) $