gpt4 book ai didi

javascript - 如何从 Botkit hears 方法中接受多个值?

转载 作者:行者123 更新时间:2023-11-30 20:18:39 24 4
gpt4 key购买 nike

代码:

controller.hears([map (.*) (.*) into (.*)){
var value = message.match[1];
var source = message.match[2];
var dest = message.match[3]; }

当输入是将 12 克映射到千克 时它工作正常但是当输入是 将 12 平方米映射到平方厘米 时输出是value = 12 平方,source= 米,dest = 平方厘米

如何修改代码,使值字段只接受数字,以便平方米转到源字段

最佳答案

你可以使用

map (\d+) (.*) into (.*)

参见 regex demo

第一个捕获组现在是 (\d+) 并且只会捕获一个或多个数字。

您还可以使用 \s+ 在值之间匹配 1+ 个空格(因此,制表符和其他空格也将被匹配,出现 1 次或多次):

map\s+(\d+)\s+(.*?)\s+into\s+(.*)

参见 this regex demo .

详情

  • map - map 子串
  • \s+ - 1+ 个空格
  • (\d+) - 第 1 组:一个或多个数字
  • \s+
  • (.*?) - 第 2 组:除换行符以外的任何 0+ 个字符,尽可能少,
  • \s+ - 1+ 个空格
  • into - into 子串
  • \s+ - 1+ 个空格
  • (.*) - 第 3 组:除换行符以外的任何 0+ 个字符,尽可能多。

关于javascript - 如何从 Botkit hears 方法中接受多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51688652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com