为什么这个lua gsub不起作用?
我有一些lua代码,它是RESTAPI的一部分。我正在扩展它来处理重定向。 然而,我在gsub上遇到了麻烦为什么这个lua gsub不起作用?,lua,Lua,我有一些lua代码,它是RESTAPI的一部分。我正在扩展它来处理重定向。 然而,我在gsub上遇到了麻烦 msg=POST /v2/keys/message?recursive=true&value=hello%20world HTTP/1.1 Host: 172.17.8.101:4001 Content-Length: 0 Accept: */*, application/json, application/x-www-form-urlencoded, text/plain 我想
msg=POST /v2/keys/message?recursive=true&value=hello%20world HTTP/1.1
Host: 172.17.8.101:4001
Content-Length: 0
Accept: */*, application/json, application/x-www-form-urlencoded, text/plain
我想换一个
path = "blabla"
msg = msg:gsub("^%w* ([^\r\n]*)\r\n.*", path .. " HTTP/1.1")
结果是:
msg=POST blabla HTTP/1.1
Host: 172.17.8.101:4001
Content-Length: 0
Accept: */*, application/json, application/x-www-form-urlencoded, text/plain
但我试过的所有东西都不匹配,也没有替换。我想我只是从根本上误解了LuaGSub及其模式匹配的工作原理。gsub有什么问题吗?对于初学者来说,您的匹配度过高 您不需要将整个字符串与模式匹配。只需修改要修改的位 msg=是字符串的一部分还是变量赋值?我将假设这是一个变量赋值,特别是给定msg=msg:gsub 鉴于这一尝试:
msg = msg:gsub("^(%w*%s*)([^%s]*)", "%1"..path)
首先,你是过度匹配 您不需要将整个字符串与模式匹配。只需修改要修改的位 msg=是字符串的一部分还是变量赋值?我将假设这是一个变量赋值,特别是给定msg=msg:gsub 鉴于这一尝试:
msg = msg:gsub("^(%w*%s*)([^%s]*)", "%1"..path)
请尝试下面的代码。注意使用1只进行一次匹配 msg=msg:gsub%s+%s+%s+,%1..path..%3,1
请尝试下面的代码。注意使用1只进行一次匹配 msg=msg:gsub%s+%s+%s+,%1..path..%3,1
您确定字符串中有\r\n换行符吗?是的,这是从服务器返回的内容。HTTP响应是否确定字符串中有\r\n换行符?是的,这是从服务器返回的内容。HTTP响应