我正在尝试基于在lua上运行的Ptokax为DC ++ hub编写脚本 我正在尝试分配在其间具有标点符号的缺口(变量),但它给出了nil值 (sPattern已经!已经在脚本中分配了)
sData =“[11:03:30]!spm sTo_Nick sFromNick要发送的消息”
cmd,sToNick1,sToNick2,sFromNick ,sMessage = string.match(sData, "%b<>%s["..sPattern.."](%a*)(%s+)(%w*)(%s+)(%w*)(%s+)(%.*)")
我想要分配的是
cmd = spm sToNick1 = sTo, sToNick2 =尼克, sFromNick = sFromNick, sMessage =要发送的消息
我得到的是 spm sTo _尼克
在这里可以看到https://repl.it/BrAg/3
任何人都可以建议编辑或帮助。
答案 0 :(得分:2)
您需要重新排列捕获组:
cmd,sToNick1,sToNick2,sFromNick,sMessage =
string.match(sData, "%b<>%s["..sPattern.."](%a*)%s+(%w*)"..pattern.."(%w*)%s+(%w*)%s+(.*)")
请参阅updated demo