在Lua中用模式替换一个子字符串

我有一个像这样的字符串

     str = '["username"] = "user";
     ["deepscan"] = "true";
     ["token"] = true;
     ["password"] = "krghfkghkfghf";
     ["uploadMethod"] = "JSON";
     ["serviceIsRunning"] = {};
     ["host"] = "sample.com";
     ["instance_ID"] = 405454058;'

我想匹配模式["password"] =,并只替换";'之间的字符串,在这个实例中就是'"krghfkghkfghf"

点赞
用户2198692
用户2198692
local function replacePass(configstr, newpass)
    return configstr:gsub("(%[\"password\"%]%s*=%s*)%b\"\"", "%1\"" .. newpass .. "\"")
end

如果你的密码包含双引号,则这段代码将不起作用。

2013-05-19 20:04:39
用户712063
用户712063

我也有同样的问题,

以下密码替换怎么样?

"password" : "krghfkghkfghf"
2020-05-25 05:19:06