【发布时间】:2015-10-18 16:26:30
【问题描述】:
我正在尝试编写一个hubot 脚本来回答两种不同的输入。用户可以输入当地公共交通站点的名称,也可以选择延迟添加后缀。
因此,对于第一个选项,输入可以是 dvb zellescher weg 或 dvb albertplatz,对于第二个选项,输入可以是 dvb zellescher weg in 5 或 dvb albertplatz in 10。
(这里的“dvb”是我的脚本的关键字,“zellescher weg”和“albertplatz”是站点名称的两个示例)
在尝试将这些与正则表达式匹配时,我遇到了一个问题,即我已经在不同的测试站点上工作的正则表达式(如似乎在这里推荐的 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+|)$/
标签: javascript regex coffeescript hubot