正则表达式检查句子的单词

Regex check sentence for a word

本文关键字:单词 句子 检查 正则表达式      更新时间:2023-09-26

我正在使用node js做一个基本的聊天应用程序,我正在尝试向聊天中添加命令。示例:用户可以使用此命令添加朋友/add name

t = "/add Smith"
var c = t.match(/^'s*([/](?:'S+'d+|add|send))'s+'S+/i);
console.log(c[0])
// '/add Smith'

但我无法得到第三个词:

t = "/send Smith 5000"
var c = t.match(/^'s*([/](?:'S+'d+|add|send))'s+'S+/i);
console.log(c)
// '/send Smith'
//third variable is missing

它仍然在c[0]中给出前两个词,但我也需要第三个词。如何解决这个问题?

'S+将匹配 1 个或多个非空格,因此一旦在 Smith 之后找到空格,它就会停止。使用.+匹配"send "后的所有内容。

var c = t.match(/^'s*([/](?:'S+'d+|add|send))'s+.+/i);
//=> ["/send Smith 5000", "/send"]