2016-01-01 2 views
3

Я пытаюсь выполнить поиск по шаблону, но он не работает. У меня есть этот код:Как правильно искать 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 

Но это не работает. Неправильный результат, который появляется, следующий:

CmdTurn:. 
GetPar:. 

Любой может мне помочь?

+0

Насколько я могу сказать, ваша проблема ваших скоб для захвата 4 элемента в шаблоне, но только с помощью 2 возвращаемых переменных (к, v). Попробуйте использовать переменные a, b, c, d и посмотрите, работает ли он. – warspyking

ответ

1

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

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

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