diff --git a/web/src/pages/_app.tsx b/web/src/pages/_app.tsx index 51f9b5f..6e1fa20 100644 --- a/web/src/pages/_app.tsx +++ b/web/src/pages/_app.tsx @@ -15,8 +15,11 @@ const MyApp: AppType = ({ Component, pageProps }) => { .then((res) => res.json()) .then((data) => { const glossary: Glossary = new Map(Object.entries(data)); - const keys = Array.from(glossary.keys()).sort((a, b) => b.length - a.length); - console.log(keys); + const keys = Array.from(glossary.keys()) + .sort((a, b) => b.length - a.length) // sort by length descending + .map((k) => k.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')) // escape regex chars + .map((k) => `\\b${k}\\b`); // add word boundaries + const regex = new RegExp(keys.join("|"), "gim"); setGlossary({ g: glossary, r: regex }); });