Javascript регулярное выражение, не будет совпадать слова рядом с тегом HTML
Я использую плагин jquery spellchecker для contenteditable div, который вставляет div и brs по возвращении. Регулярное выражение проверки правописания не будет соответствовать неправильно написанному слову, которое находится рядом с тегом. Вот содержимое div, в котором я выполняю регулярное выражение:
Praesent commodo cursus magna,
<br>
<br>
dsf
<br>
vel scelerisque nisl consectetur et.
Вот javascript, который находится в цикле, а replaceWord - слово с неправильным написанием:
var re = new RegExp('(^|[^a-zA-Z])(' + replaceWord + ')([^a-zA-Z]|$)', 'g');
html = html.replace(re, '$1<span class="spellcheck-word-highlight">$2</span>$3');
Хотя регулярное выражение правильно соответствует всем другим словам. Какие-нибудь мысли?
Спасибо!
1 ответ
Решение
Я бы попробовал:
var re = new RegExp('\\b(' + replaceWord + ')\\b', 'g');
вместо. Квалификатор "\b" (обратная косая черта, удвоенная в приведенных выше строках) соответствует переходу от несловесного символа (или начала текста) к символу слова, а словосочетания к несловесному символу (или концу текста).