正则表达式解析文本作为参数
Regex Parse Text as Arguments
我正在为 Steam 创建一个聊天机器人,用户将能够输入诸如 !tell jimmy message
之类的命令。我希望它的行为就像 运行 和带参数的命令行一样。因此引号之间的文本算作一个参数,文本之间的空格是单独的参数。
这里有一些例子:
!tell jimmy message =
姓名: 吉米, 消息: 消息
!tell jimmy "message" =
姓名: 吉米, 消息: 消息
!tell jimmy "Hello Jimmy!" =
姓名:吉米,消息:你好吉米!
!tell "jimmy" hey =
姓名:吉米,消息:嘿
正则表达式和捕获组是否可行?如果可行,如何实现?
Pattern !tell ("[^"]*"|[^ ]+) ("[^"]*"|[^=]+) =
首先匹配 !tell
然后匹配两个引号 "[^"]*"
之间的字符串或直到 space [^ ]+
。消息也是如此。
我正在为 Steam 创建一个聊天机器人,用户将能够输入诸如 !tell jimmy message
之类的命令。我希望它的行为就像 运行 和带参数的命令行一样。因此引号之间的文本算作一个参数,文本之间的空格是单独的参数。
这里有一些例子:
!tell jimmy message =
姓名: 吉米, 消息: 消息!tell jimmy "message" =
姓名: 吉米, 消息: 消息!tell jimmy "Hello Jimmy!" =
姓名:吉米,消息:你好吉米!!tell "jimmy" hey =
姓名:吉米,消息:嘿
正则表达式和捕获组是否可行?如果可行,如何实现?
Pattern !tell ("[^"]*"|[^ ]+) ("[^"]*"|[^=]+) =
首先匹配 !tell
然后匹配两个引号 "[^"]*"
之间的字符串或直到 space [^ ]+
。消息也是如此。