local a={}a.replace=function(a,C,P)return a:gsub(C:gsub("\040\091\046\037\037\094\036\040\041\037\091\037\093\043\042-\063\093\041","\037\037\037\049"),P)end a.match_raw=function(a,C)return a:match(C:gsub("\040\091\046\037\037\094\036\040\041\037\091\037\093\043\042-\063\093\041","\037\037\037\049"))end return setmetatable(a,{__index=string})
local newString = {}

newString.replace = function(str, pattern, repl)
    return str:gsub(
        pattern:gsub(
            "([.%%^$()%[%]+*-?])",
            "%%%1"
        ),
        repl
    )
end

newString.match_raw = function(str, pattern)
	return str:match(
		pattern:gsub(
            "([.%%^$()%[%]+*-?])",
            "%%%1"
        )
	)
end

return setmetatable(newString, {
	__index = string
})