diff --git a/javascript/tagAutocomplete.js b/javascript/tagAutocomplete.js index 69aab03..5ad9f90 100644 --- a/javascript/tagAutocomplete.js +++ b/javascript/tagAutocomplete.js @@ -621,7 +621,7 @@ function updateRuby(textArea, prompt) { const replaceOccurences = (text, tuple) => { let { tag, escapedTag, translation } = tuple; - let searchRegex = new RegExp(`(?)(?:\\b)${escapedTag}(?!)`, "g"); + let searchRegex = new RegExp(`(?)(?:\\b)${escapedTag}(?:\\b|$|(?=[,| \\t\\n\\r]))(?!)`, "g"); return text.replaceAll(searchRegex, `${escapeHTML(tag)}${translation}`); } @@ -658,8 +658,9 @@ function updateRuby(textArea, prompt) { translateNgram(toNgrams(subTags, 2)); translateNgram(toNgrams(subTags, 1)); - let escapedTag = escapeRegExp(tuple.tag.replaceAll("$", "(").replaceAll("%", ")")); - let searchRegex = new RegExp(`(?)(?:\\b)${escapedTag}(?!)`, "g"); + let escapedTag = escapeRegExp(tuple.tag); + + let searchRegex = new RegExp(`(?)(?:\\b)${escapedTag}(?:\\b|$|(?=[,| \\t\\n\\r]))(?!)`, "g"); html = html.replaceAll(searchRegex, subHtml); } });