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

时间:2017-01-13 08:48:29

标签: regex arguments command-line-arguments

我正在为Steam创建一个聊天机器人,用户可以输入!tell jimmy message等命令。我希望它的行为与使用带参数的命令行一样运行。因此,引号之间的文本计为一个参数,文本之间的空格是sperate arguments。

以下是一些例子:

  • !tell jimmy message = 名称 jimmy,消息:消息

  • !tell jimmy "message" = 名称 jimmy,消息:消息

  • !tell jimmy "Hello Jimmy!" = 名称: jimmy, msg:您好Jimmy!

  • !tell "jimmy" hey = 名称: jimmy, msg:

这是否可以使用正则表达式和捕获组,如果可以,怎么做?

1 个答案:

答案 0 :(得分:0)

模式!tell ("[^"]*"|[^ ]+) ("[^"]*"|[^=]+) =,您首先匹配!tell,然后匹配两个引号"[^"]*"之间的字符串或直到空格[^ ]+。这同样适用于消息。

相关问题