Я пытаюсь написать сценарий hubot, который отвечает на два разных типа ввода. Пользователь может либо ввести имя остановки для локального общественного транспорта, либо, возможно, постфикс с задержкой.Повторное выражение Coffeescript не соответствует
Вход может, следовательно, быть dvb zellescher weg
или dvb albertplatz
для первого варианта или dvb zellescher weg in 5
или dvb albertplatz in 10
для второго. («dvb» здесь является ключевым словом для моего скрипта и «zellescher weg» и «albertplatz», являющимся двумя примерами для имен стоп)
При попытке сопоставить их с регулярным выражением я столкнулся с проблемой, когда регулярное выражение I «Я получил работу на разных сайтах тестирования (например, regex101, который, как представляется, рекомендуется здесь и делает JS), не будет работать в моем коде. Регулярное выражение для совпадающего ввода без номера /^dvb (\D*)$/
, и я использую /dvb\s+(.*)in (\d*)/
, чтобы соответствовать случаям, когда пользователь ввел задержку.
Минимальный пример кода для моего hubot, не сопрягая по причинам, без ведома для меня выглядит так:
robot.respond /^dvb (\D*)$/, (res) ->
hst = res.match[1]
res.send hst
Спасибо за любую помощь по этому вопросу.
Если вы хотите совместить два регулярных выражения ... '/^dvb \ s + (\ D +) (\ sin \ s \ d + |) $ /' –