Задать вопрос
JohnDaniels
@JohnDaniels

Как правильно составить регулярку?

Извиняюсь за глупый вопрос, но уже голова кругом.

к примеру такой код
var text = "мир памир мир, мирный мир.";

var word = 'мир';

text = text.replace(new RegExp(word,'g'), '<span class="red">'+word+'</span>');


нужно выделить 1, 3 и последнее слово. то есть все точные совпадения. желательно без знаков препинания.
есть идеи?
fiddle
  • Вопрос задан
  • 266 просмотров
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
Решения вопроса 2
@BorisKorobkov
Для латинского алфавита достаточно добавить "\b". Для кириллицы приходится извращаться:
text = text.replace(/(^|[^a-zа-яё0-9])(мир)([^a-zа-яё0-9]|$)/gi, '$1<span class="red">$2</span>$3');
Ответ написан
Stalker_RED
@Stalker_RED
Границы слова обозначаются как \b
\b(мир)\b
https://regex101.com/r/QqytId/1
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы