我需要修复格式错误的模式错误
I need to fix malformed pattern error
我想用 $ 替换 % 符号。我试着做一个转义字符 () 但那没有用。我正在使用 lua 5.1,但出现格式错误的模式错误。 (以“%”结尾)这让我很困扰,因为我不知道如何解决它。
io.write("Search: ") search = io.read()
local query = search:gsub("%", "%25") -- Where I put the % sign.
query = query:gsub("+", "%2B")
query = query:gsub(" ","+")
query = query:gsub("/", "%2F")
query = query:gsub("#", "%23")
query = query:gsub("$", "%24")
query = query:gsub("@", "%40")
query = query:gsub("?", "%3F")
query = query:gsub("{", "%7B")
query = query:gsub("}","%7D")
query = query:gsub("[","%5B")
query = query:gsub("]","%5D")
query = query:gsub(">", "%3E")
query = query:gsub("<", "%3C")
local url = "https://www.google.com/#q=" .. query
print(url)
输出读取:
malformed pattern (ends with '%')
您需要转义 %
并写入 %%
.
在 Lua 中惯用的做法是给 table 一个 gsub
:
local reserved="%+/#$@?{}[]><"
local escape={}
for c in reserved:gmatch(".") do
escape[c]=string.format("%%%02X",c:byte())
end
escape[" "]="+"
query = search:gsub(".", escape)
我想用 $ 替换 % 符号。我试着做一个转义字符 () 但那没有用。我正在使用 lua 5.1,但出现格式错误的模式错误。 (以“%”结尾)这让我很困扰,因为我不知道如何解决它。
io.write("Search: ") search = io.read()
local query = search:gsub("%", "%25") -- Where I put the % sign.
query = query:gsub("+", "%2B")
query = query:gsub(" ","+")
query = query:gsub("/", "%2F")
query = query:gsub("#", "%23")
query = query:gsub("$", "%24")
query = query:gsub("@", "%40")
query = query:gsub("?", "%3F")
query = query:gsub("{", "%7B")
query = query:gsub("}","%7D")
query = query:gsub("[","%5B")
query = query:gsub("]","%5D")
query = query:gsub(">", "%3E")
query = query:gsub("<", "%3C")
local url = "https://www.google.com/#q=" .. query
print(url)
输出读取:
malformed pattern (ends with '%')
您需要转义 %
并写入 %%
.
在 Lua 中惯用的做法是给 table 一个 gsub
:
local reserved="%+/#$@?{}[]><"
local escape={}
for c in reserved:gmatch(".") do
escape[c]=string.format("%%%02X",c:byte())
end
escape[" "]="+"
query = search:gsub(".", escape)