Задать вопрос
@Blockshot

Как найти в строке даты (регулярные выражения)?

Есть строка: 9999-456-132, 1995-12-08, 1995-20-09, 1995-09-35, 19954-09-12,2005-12-08,1887-13-08, 1835-01-01

Нужно найти только даты в формате: YYYY-MM-DD

Я пытался через следующую формулу: (([0-9]{4}|2\d{3})-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1]))

Результат следующий: [('1995-12-08', '1995', '12', '08'), ('9954-09-12', '9954', '09', '12'), ('2005-12-08', '2005', '12', '08'), ('1835-01-01', '1835', '01', '01')], а должен : 1995-12-08, 9954-09-12, 2005-12-08, 1835-01-01
  • Вопрос задан
  • 307 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Isafu
@Isafu
(18|19|20)\d\d-((0[1-9]|1[012])-(0[1-9]|[12]\d)|(0[13-9]|1[012])-30|(0[13578]|1[02])-31)

Данная регулярка будет работать с 1800 года
656dfeca33ea5215833765.jpeg
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 250 000 ₽
AST Москва
До 350 000 ₽
Wanted. Москва
До 250 000 ₽
14 янв. 2025, в 00:52
100 руб./за проект
14 янв. 2025, в 00:45
7000 руб./за проект
14 янв. 2025, в 00:39
30000 руб./за проект