var str='При при проверке были были найдены повторяющиеся слова';
alert(str.replace(/([^a-zА-яёЁ]|^)([a-zА-яёЁ]+) (\2)([^a-zA-ZА-яёЁ]|$)/gi,"$1"+"$2"+"$4"))<strong>при</strong>
i, нет необходимости указывать буквы в обоих регистрах. Ну и ещё если не захватывать символ, следующий после слова-дубликата, то не придётся его указывать при замене ($4).const reg = /([^a-zа-яё]|^)([a-zа-яё]+) (\2)(?=[^a-zа-яё]|$)/gi;const newStr = str.replace(reg, '$1<strong>$2</strong>');const newStr = str.replace(reg, '$1$2 <strong>$3</strong>');