Я бы настоятельно рекомендовал ПРОТИВ написать собственное регулярное выражение для этого. Разбор даты и времени прост, но есть некоторые хитрые аспекты, и эта проблема решалась сотни раз. Вам не нужно разрабатывать, писать и отлаживать еще одно решение.
Если вам нужно регулярное выражение, лучшим решением, вероятно, будет использование моего плагина Regexp :: Common :: time для модуля Regexp :: Common. Вы можете указать простое или сложное, жесткое или нечеткое сопоставление даты и времени, и оно имеет очень обширный набор тестов.
Если вы просто хотите разобрать определенные форматы даты, вам лучше использовать один из множества плагинов для разбора / форматирования для превосходного модуля Дейва Рольски DateTime.
Если вы хотите проверить значения даты / времени после их сопоставления, я бы предложил мой модуль Time :: Normalize.
Надеюсь, это поможет.