diff --git a/src/lib/parse/regex.js b/src/lib/parse/regex.js index 4b86f34c7d..08457ab368 100644 --- a/src/lib/parse/regex.js +++ b/src/lib/parse/regex.js @@ -49,6 +49,11 @@ function unescapeFormat(s) { })); } +const reRegExpChar = /[\\^$.*+?()[\]{}|]/g; +const reHasRegExpChar = RegExp(reRegExpChar.source); + export function regexEscape(s) { - return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string }