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