diff --git a/web/pdf_find_controller.js b/web/pdf_find_controller.js index 0f3f04c55..47a66946a 100644 --- a/web/pdf_find_controller.js +++ b/web/pdf_find_controller.js @@ -77,7 +77,6 @@ const DIACRITICS_EXCEPTION = new Set([ let DIACRITICS_EXCEPTION_STR; // Lazily initialized, see below. const DIACRITICS_REG_EXP = /\p{M}+/gu; -const SPECIAL_PUNCTUATION_CHARACTERS = /[.?*{}()[\]\\]/g; const SPECIAL_CHARS_REG_EXP = /([+^$|])|(\p{P}+)|(\s+)|(\p{M})|(\p{L})/gu; const NOT_DIACRITIC_FROM_END_REG_EXP = /([^\p{M}])\p{M}*$/u; const NOT_DIACRITIC_FROM_START_REG_EXP = /^\p{M}*([^\p{M}])/u; @@ -735,14 +734,11 @@ class PDFFindController { if (p1) { // Escape characters like *+?... to not interfere with regexp syntax. - return addExtraWhitespaces(p1, `\\${p1}`); + return addExtraWhitespaces(p1, RegExp.escape(p1)); } if (p2) { // Allow whitespaces around group of punctuation signs. - return addExtraWhitespaces( - p2, - p2.replaceAll(SPECIAL_PUNCTUATION_CHARACTERS, "\\$&") - ); + return addExtraWhitespaces(p2, RegExp.escape(p2)); } if (p3) { // Replace spaces by \s+ to be sure to match any spaces.