Регулярка под формат даты
Появилась необходимость написать регулярку для нахождения в строке дат такого формата 2020-12-06 21:00:00.0000000 +00:00 Накидал вот такую примитивную регулярку /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{7} \+\d{2}:\d{2}/ но выглядит она не очень. Есть ли возможность как-то это дело сократить и написать более адекватно?
Ответы (1 шт):
Сократить можно заменой
\d{2}на\d\d, хотя, это скорее вопрос стилистики./\d{4}-\d\d-\d\d \d\d:\d\d:\d\d\.\d{7} \+\d\d:\d\d/Вообще регулярка совершенно адекватная и простая. Можно было бы удваивать группы, но особой пользы от этого не будет, скорее наоборот станет сложнее читать:
/\d{4}(-\d\d){2} (\d\d:){2}\d\d\.\d{7} \+\d{2}:\d{2}/Обращаю внимание, что ты не проверяешь на начало и конец строки, что означает, что любое вхождение такое подстроки сматчится.
Само собой, эта регулярка проверяет только на корректность формата, но не на корректность самой даты.