如何正确地进行Lua模式搜索?

如何正确地进行Lua模式搜索?,lua,lua-patterns,Lua,Lua Patterns,我正在尝试进行模式搜索,但它不起作用。我有以下代码: 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 但它不起作用。出现的错误结果如下:

我正在尝试进行模式搜索,但它不起作用。我有以下代码:

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:.

有人能帮我吗?

模式中有多个捕获组
(%w+)(%p+)(%w+)=(%w+)&*
,因此
k
v
获得前两个捕获的结果,这不是您想要的结果

试试这个:

for k, v in string.gmatch(vars, "(%w+%p+%w+)=(%w+&*)") do
  print(k..":"..v)
end

据我所知,您的问题是使用括号捕获模式中的4项,但只使用2个返回变量(k和v)。尝试使用变量a、b、c、d,看看它是否有效。