Страницы

Поиск по вопросам

понедельник, 6 января 2020 г.

Проверка строки с датой/временем на корректность в Ruby

#регулярные_выражения #ruby


Нужно в Ruby проверить строку вида '12.01.2016 14:26', корректные ли в ней дата/время.

Предполагаю, что это проще всего сделать при помощи регулярного выражения.


Если регулярным выражением, то каким?
Если не регулярным выражением, то как тогда?

    


Ответы

Ответ 1



Некоторые люди, столкнувшись с проблемой, думают: "Точно, я воспользуюсь регулярными выражениями". Теперь у них две проблемы. — Джейми Завински Вам не нужны регулярные выражения для решения этой задачи. Решение есть в стандартной библиотеке Ruby. Это Date.strptime, принимающий строку и разбирающий её по strftime-подобной маске: DateTime.strptime('12.01.2016 14:26', '%d.%m.%Y %H:%M') # => # В случае некорректности даты/времени прилетит исключение ArgumentError.

Ответ 2



(\d\d)\.(\d\d)\.(\d\d\d\d)\s+(\d\d)\:(\d\d) Это ровно ваш пример

Комментариев нет:

Отправить комментарий