Обработка и форматирование даты ввода разных вариаций python

Немогу придумать функцию обработки даты от пользователя. Тоесть пользователь может ввести дату в разных вариациях например? 01012023, 01,01,2023, 01.01.2023, 01/01/2023 и возможно ещё что то, и надо привести всё это к 01.01.2023. Пробовал с библиотекой dateparser, но при вводе 01012023 выдаёт None. Подскажите пожалуйста, может есть готовые библиотеки или ваши наработки. Заранее Спасибо!


Ответы (1 шт):

Автор решения: Швеев Алексей

В вашем случае вряд ли поможет какая либо библиотека. Лично я бы сделал с помощью регулярных выражений:

import re;

pattern = r"(\d{2})[^0-9]?(\d{2})[^0-9]?(\d{4})";

match = re.fullmatch(pattern, "01,01,2023")
if (match):
    print(f"{match[1]}.{match[2]}.{match[3]}")

Ссылка на регулярку: https://regex101.com/r/NMFJAc/2

Если вы хотите больше форматов, то напишите, обновлю регулярку

→ Ссылка