【问题标题】:Retrieve matched text from input.text.matches and store into context variable in watson conversation从 input.text.matches 中检索匹配的文本并存储到 watson 对话中的上下文变量中
【发布时间】:2016-09-30 10:45:32
【问题描述】:

我正在处理 IBM Watson Conversation。我的文本包含很少的字母和数字,即age is 26

我写了一个正则表达式来匹配文本中的数字。它是使用.*?[0-9]+.*? 完成的。现在,我希望将这些匹配的数字放入上下文变量

如何将匹配的数字放入上下文变量中?

当我的条件与 input.text.matches('.*?[0-9]+.*?') 匹配时,我只想将数字放入我的 上下文变量

例如:

{
    "context": {
               "digit": { input.text } 
    }
}

这里 input.text 获取整个文本并将其放入 digit 变量中。

如何通过对文本应用正则表达式来仅放置数字?

【问题讨论】:

  • 更新答案。

标签: regex watson-conversation watson-dialog


【解决方案1】:

您可以从输入文本中提取正则表达式,如下所示:

input.text.extract('.*?([0-9]+).*?', 1)

第一部分是你的正则表达式。第二个参数是组ID。

【讨论】:

    【解决方案2】:

    第二个参数是提取工作所必需的,所以如果我们想提取整个匹配的子字符串,我们使用0作为extract_id,如下所示:

    input.text.extract('[0-9]+', 0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多