JohnDaniels
@JohnDaniels

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

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

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

var word = 'мир';

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


нужно выделить 1, 3 и последнее слово. то есть все точные совпадения. желательно без знаков препинания.
есть идеи?
fiddle
  • Вопрос задан
  • 256 просмотров
Решения вопроса 2
@BorisKorobkov
Web developer
Для латинского алфавита достаточно добавить "\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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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