Я пытаюсь выполнить поиск по шаблону, но это не работает. У меня есть этот код:

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

Кто-нибудь может мне помочь?

Willyan Fidelis

Ответов: 1

Ответы (1)

В шаблоне есть несколько групп захвата (% w +) (% p +) (% w +) = (% w +) & *, поэтому k и v получает результат первых двух захватов, а это не то, что вам нужно.

Попробуйте это:

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

2022 WebDevInsider