正则表达式解析文本作为参数

Regex Parse Text as Arguments

我正在为 Steam 创建一个聊天机器人,用户将能够输入诸如 !tell jimmy message 之类的命令。我希望它的行为就像 运行 和带参数的命令行一样。因此引号之间的文本算作一个参数,文本之间的空格是单独的参数。

这里有一些例子:

正则表达式和捕获组是否可行?如果可行,如何实现?

Pattern !tell ("[^"]*"|[^ ]+) ("[^"]*"|[^=]+) = 首先匹配 !tell 然后匹配两个引号 "[^"]*" 之间的字符串或直到 space [^ ]+。消息也是如此。