【发布时间】:2017-09-19 21:12:38
【问题描述】:
作为 Watson Conversation 流程的一部分,我们有一个节点会询问我们放入上下文变量中的用户名。
大多数人只给我们他们的用户名 (janedoe12),使用此代码可以很好地处理。
{
"context": {
"username": "<?input_text?>"
},
"output": {
"text": {
"values": [
"Hi $username!"
]
}
}
}
问题是,当人们说“我的用户名是 janedoe12”时,我似乎无法解决 - 我仍在尝试退出“janedoe12”。我们不经常看到人们给我们用户名的其他方式(即没有人说“username janedoe12”或“my sn is janedoe12”),所以我们不太担心处理除此之外的案例。
这是我所拥有的:
{
"context": {
"username": "<?input.text.extract('(?<=username is ).*')?>"
},
"output": {
"text": {
"values": [
"Hi $username!"
]
}
}
}
我觉得问题可能是我使用了错误的 RegEx 样式,但我不太确定如何从这里开始。我可以很好地到达这个节点,但它返回 $username 作为 null。有人对如何设计有任何建议吗?
【问题讨论】:
-
试试
extract('username\\s+is\\s+(.*)', 1)
标签: json regex watson-conversation watson