Regex: Сопоставление даты

Следует помнить, что regex был разработан для сопоставления даты (или не даты). Сказать, что дата действительна, гораздо сложнее, поскольку это потребует обработки большого количества исключений.

Начнем с сопоставления месяца (1 - 12) с необязательным ведущим 0:

Чтобы сопоставить день, также с необязательным ведущим 0:

И для соответствия году (предположим, что диапазон 1900 - 2999):

Разделитель может быть пробелом, тире, слешем, пустым и т.д. Не стесняйтесь добавлять все, что вы считаете нужным использовать в качестве разделителя:

Теперь вы конкатенируете все это и получаете:

Если вы хотите быть более педантичным, то можете использовать обратную ссылку, чтобы быть уверенным, что два разделителя будут одинаковыми:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий