Определите и проанализируйте временной диапазон в формате, например, «2-4 вечера» для бота планирования Amazon Lex - PullRequest
0 голосов
/ 10 мая 2018

Короткая версия: учитывая пользовательский ввод, такой как I'm going to be out of the office from 2-4pm или I'm out of the office from 10am-noon tomorrow, как я могу выделить временной диапазон, чтобы разделить его на тире и обработать как время начала и окончания?

Длинная версия на случай, если сработает другое решение:

Я работаю над ботом Amazon Lex для планирования работы вне офиса. Мои высказывания настроены на фразы, подобные I'll be out of the office from {StartTime} to {EndTime}, которые прекрасно работают, если пользователи вводят время в формате, подобном 2pm to 4pm. Тем не менее, некоторые пользователи говорят I'll be out of the office from 2-4pm или даже хуже 10am-noon. Поскольку высказывания Lex необходимо форматировать как предложения, которые можно произносить вслух в Alexa и т. Д., Вы не сможете использовать тире, поэтому я не могу создать такое высказывание, как {StartTime}-{EndTime}, чтобы сказать, что оно ожидает даты в этом формате.

У меня уже настроена функция проверки лямбды, поэтому я могу выполнять пользовательскую обработку на вводе пользователя, но я не уверен, как изолировать этот фрагмент строки, чтобы я мог разобрать его в мои StartTime и EndTime слоты.

1 Ответ

0 голосов
/ 10 мая 2018

, если вы ищете регулярное выражение:

\b(\w+)\s*-\s*(\w+)\b

Демо

...