我正在尝试为基于 Ptokax 的 DC++ hub 编写一个在 lua 上运行的脚本 我正在尝试分配其间有标点符号的缺口(变量),但它给出了 nil 值 (sPattern 已在脚本中分配)
sData = "[11:03:30] !spm sTo_Nick sFromNick message to be sent"
cmd,sToNick1,sToNick2,sFromNick ,sMessage = string.match(sData, "%b<>%s["..sPattern.."](%a*)(%s+)(%w*)(%s+)(%w*)(%s+)(%.*)")
我想要分配的是
cmd = spm sToNick1 = sTo , sToNick2 = Nick , sFromNick = sFromNick , sMessage = message to be sent
我得到的是 spm sTo_尼克
如此处所示 https://repl.it/BrAg/3
任何人都可以建议编辑或提供帮助。
最佳答案
您需要重新排列捕获组:
cmd,sToNick1,sToNick2,sFromNick,sMessage =
string.match(sData, "%b<>%s["..sPattern.."](%a*)%s+(%w*)"..pattern.."(%w*)%s+(%w*)%s+(.*)")
请参阅updated demo
关于lua - 在lua中分配变量并在其之间添加标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35679539/