From cad47b8535c87852f6ab0dbc746a1f187d7dfe6f Mon Sep 17 00:00:00 2001 From: Augusto Goulart <26435937+oAGoulart@users.noreply.github.com> Date: Sat, 28 Mar 2020 17:50:15 +0100 Subject: [PATCH] utils.lua.escape_string_regex rewritten with single string.gsub call. --- src/utils.lua | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/utils.lua b/src/utils.lua index 0afe352..b37501d 100644 --- a/src/utils.lua +++ b/src/utils.lua @@ -128,11 +128,13 @@ end --- Escapes a string to use as a regex. -- @string string to escape. function utils.lua.escape_string_regex(string) - -- ^$()%.[]*+-? - return string:gsub('%%', '%%%%'):gsub('^%^', '%%^'):gsub('%$$', '%%$') - :gsub('%(', '%%('):gsub('%)', '%%)'):gsub('%.', '%%.') - :gsub('%[', '%%['):gsub('%]', '%%]'):gsub('%*', '%%*') - :gsub('%+', '%%+'):gsub('%-', '%%-'):gsub('%?', '%%?') + return string:gsub('[%^%$%(%)%%%.%[%]%*%+%-%?%z]', { + ['^'] = '%^'; ['$'] = '%$'; ['('] = '%('; + [')'] = '%)'; ['%'] = '%%'; ['.'] = '%.'; + ['['] = '%['; [']'] = '%]'; ['*'] = '%*'; + ['+'] = '%+'; ['-'] = '%-'; ['?'] = '%?'; + ['\0'] = '%z'; + }) end