Почему не работает вот такая конструкция?
local querycreate = "create user 'dddqwd123_dwqd'@'localhost'"
local create, usercreate, username, userhost = querycreate:match("^(%w+)%s+(%w+)%s+\'(%w)\'@\'(%w)\'$")
print(string.format("query: %s", querycreate))
print(string.format(" var create = %s \n var usercreate = %s \n var username = %s \n var userhost = %s", create, usercreate, username, userhost))
При выполнении получаю:
query: create user 'dddqwd123_dwqd'@'localhost'
var create = nil
var usercreate = nil
var username = nil
var userhost = nil
Если регексп изменить на ("^(%w+)%s+(%w+)%s+") то получаю:
var create = create
var usercreate = user
var username = nil
var userhost = nil
А если убрать в переменной querycreate скобки типа "create user dddqwd123_dwqd @ localhost", и регексп немного изменить ^(%w+)%s+(%w+)%s+(%w+) @ (%w+)$, то вывод получаю такой, как мне нужен.