Разбор Times с регулярными выражениями Ruby - PullRequest
1 голос
/ 22 января 2012

Я имею дело с некоторыми очень неоднородными данными и использую регулярные выражения Ruby для их анализа.Я должен разобрать время вне строк, и в данных, с которыми я имею дело, перечислены как 9-10: 30 утра, 9:30 утра - 9:00 вечера, 9-10 утра.Минуты не обязательно перечислены, а AM / PM не указаны, если они одинаковы для обоих раз.

Я пытаюсь создать объекты времени в рубине на основе этих времен с использованием регулярных выражений, но явозникли проблемы при разработке выражения, которое поймает любое из этих времен.

Вот что я пробовал:

results = rule.scan(/no parking(sanitation broom symbol)(\d+:\d+((a|p)m))-(\d+:\d+((a|p)m)/)

С этим я не смог вернуть никаких результатов, дажехотя результаты были перечислены как я их написал.\ D + используется для сопоставления целых чисел в числе, и я думаю, что, возможно, что-то не так с тем, как я использовал скобки для сопоставления выражений.

1 Ответ

4 голосов
/ 22 января 2012

Вы, вероятно, захотите разобрать его на несколько частей, а затем использовать синтаксический анализатор естественного языка, например https://github.com/mojombo/chronic, для обработки даты / времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...