diff --git a/frontend/src/ts/components/modals/WordFilterModal.tsx b/frontend/src/ts/components/modals/WordFilterModal.tsx index 4380c82cc815..615650611240 100644 --- a/frontend/src/ts/components/modals/WordFilterModal.tsx +++ b/frontend/src/ts/components/modals/WordFilterModal.tsx @@ -131,17 +131,10 @@ function filterWordList( // Source - https://stackoverflow.com/a/874742 // Retrieved 2026-06-23, License - CC BY-SA 3.0 // Separates string into regex expression - let reglit = new RegExp(""); - try { - const flags = value.regex.replace(/.*\/([gimy]*)$/, "$1"); - const pattern = value.regex.replace(new RegExp(`^/(.*?)/${flags}$`), "$1"); - reglit = new RegExp(pattern, flags); - } catch (error) { - if (error instanceof SyntaxError) { - return { error: "Invalid Regex Expression" }; - } - return { error: String(error) }; - } + const match = new RegExp("^/(?.*?)/(?[gimydsuv]*)$").exec( + value.regex, + ) ?? { groups: { pattern: value.regex, flags: "" } }; + const reglit = new RegExp(match.groups?.pattern ?? "", match.groups?.flags); let filterin = Misc.escapeRegExp(value.include.trim()); filterin = filterin.replace(/\s+/gi, "|");