从 input.text.matches 中检索匹配的文本并存储到 watson 对话中的上下文变量中
Retrieve matched text from input.text.matches and store into context variable in watson conversation
我正在处理 IBM Watson Conversation。我有一个包含几个 字母和数字 的文本,即 age is 26
。
我写了一个正则表达式来匹配文本中的数字。它是使用 .*?[0-9]+.*?
完成的。现在,我希望将那些匹配的数字放入 上下文变量 。
如何将匹配的数字放入上下文变量中?
当我的条件与 input.text.matches('.*?[0-9]+.*?')
匹配时,我只想将数字放入我的 上下文变量 。
例如:
{
"context": {
"digit": { input.text }
}
}
此处 input.text
获取整个文本并将其放入 digit 变量中。
如何通过在文本上应用正则表达式来仅放置数字?
您可以从输入文本中提取正则表达式,如下所示:
input.text.extract('.*?([0-9]+).*?', 1)
第一部分是您的正则表达式。第二个参数是组ID。
提取工作需要第二个参数,所以如果我们想提取整个匹配的子字符串,我们使用 0 作为 extract_id,如下所示:
input.text.extract('[0-9]+', 0)
我正在处理 IBM Watson Conversation。我有一个包含几个 字母和数字 的文本,即 age is 26
。
我写了一个正则表达式来匹配文本中的数字。它是使用 .*?[0-9]+.*?
完成的。现在,我希望将那些匹配的数字放入 上下文变量 。
如何将匹配的数字放入上下文变量中?
当我的条件与 input.text.matches('.*?[0-9]+.*?')
匹配时,我只想将数字放入我的 上下文变量 。
例如:
{
"context": {
"digit": { input.text }
}
}
此处 input.text
获取整个文本并将其放入 digit 变量中。
如何通过在文本上应用正则表达式来仅放置数字?
您可以从输入文本中提取正则表达式,如下所示:
input.text.extract('.*?([0-9]+).*?', 1)
第一部分是您的正则表达式。第二个参数是组ID。
提取工作需要第二个参数,所以如果我们想提取整个匹配的子字符串,我们使用 0 作为 extract_id,如下所示:
input.text.extract('[0-9]+', 0)