Lua gsub chars';(';和';)';失败
由于某些原因,只有打开和关闭支架不起作用,所有其他支架都可以Lua gsub chars';(';和';)';失败,lua,gsub,lua-patterns,Lua,Gsub,Lua Patterns,由于某些原因,只有打开和关闭支架不起作用,所有其他支架都可以 RequestEncoded = string.gsub(RequestEncoded, '<', ' ') RequestEncoded = string.gsub(RequestEncoded, '>', ' ') RequestEncoded = string.gsub(RequestEncoded, '"', ' ') RequestEncoded = string.gsub(RequestEncoded, '\'
RequestEncoded = string.gsub(RequestEncoded, '<', ' ')
RequestEncoded = string.gsub(RequestEncoded, '>', ' ')
RequestEncoded = string.gsub(RequestEncoded, '"', ' ')
RequestEncoded = string.gsub(RequestEncoded, '\'', ' ')
RequestEncoded = string.gsub(RequestEncoded, '\\', ' ')
-- RequestEncoded = string.gsub(RequestEncoded, '(', ' ') keeps failing
-- RequestEncoded = string.gsub(RequestEncoded, ')', ' ')
-- RequestEncoded = string.gsub(RequestEncoded, "\x28", " ") --keeps failing
-- RequestEncoded = string.gsub(RequestEncoded, "\x29", ' ')
-- RequestEncoded = string.gsub(RequestEncoded, '\050', ' ') --keeps failing
-- RequestEncoded = string.gsub(RequestEncoded, '\051', ' ')
RequestEncoded=string.gsub(RequestEncoded,“”,“”)
RequestEncoded=string.gsub(RequestEncoded,“”,“”)
RequestEncoded=string.gsub(RequestEncoded,'\'','')
RequestEncoded=string.gsub(RequestEncoded,'\\','')
--RequestEncoded=string.gsub(RequestEncoded,“(”,“”)不断失败
--RequestEncoded=string.gsub(RequestEncoded,'),“”)
--RequestEncoded=string.gsub(RequestEncoded,“\x28”,”)--不断失败
--RequestEncoded=string.gsub(RequestEncoded,“\x29”,”)
--RequestEncoded=string.gsub(RequestEncoded,'\050','')--不断失败
--RequestEncoded=string.gsub(RequestEncoded,'\051','')
)
和(
是在Lua模式中形成捕获组的特殊字符
当它们位于方括号([…]
)之外时,需要对它们进行转义,以匹配文字括号。需要使用%
对它们进行转义
string.gsub(RequestEncoded, '%(', ' ')
string.gsub(RequestEncoded, '%)', ' ')
但是,由于在所有后续的gsub
调用中使用相同的替换模式,因此可以将代码简化为
RequestEncoded = string.gsub(RequestEncoded, '[<>"\'\\()]', ' ')
RequestEncoded=string.gsub(RequestEncoded,“[”\'\\\()]”,“)
注意,这里,()
位于括号表达式中,不需要转义
见文件:
一些被称为魔法字符的字符在模式中使用时具有特殊的含义
()。%+-*?[^$