我正在尝试进行模式搜索,但它不起作用。我有这段代码:
vars = "CmdTurn.on=off/GetPar.pwd=true"
_GET = {}
for k, v in string.gmatch(vars, "(%w+)(%p+)(%w+)=(%w+)&*") do
_GET[k] = v
print(k..":"..v)
end
运行此代码后,我希望看到这个结果:
CmdTurn.on:off
GetPar.pwd:true
但它不起作用。出现的错误结果是:
CmdTurn:.
GetPar:.
任何人都可以帮助我吗?
答案 0 :(得分:1)
模式(%w+)(%p+)(%w+)=(%w+)&*
中有多个捕获组,因此k
和v
会获得前两次捕获的结果,这不是您想要的。
试试这个:
for k, v in string.gmatch(vars, "(%w+%p+%w+)=(%w+&*)") do
print(k..":"..v)
end