Показать сообщение отдельно
  #1 (permalink)  
Старый 16.03.2021, 11:35
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,754

Замена по регулярному выражению.
Нужно в строке найти заданный шаблон (поиск только с начала слова) и заменить его на "[[шаблон]]'".
Пытаюсь делать так

const s=`
Зимний вечер.Зима наступила. Хорошо зимой. Зимовье
`
const sh='зим'

const re = new RegExp('[^а-яё]('+sh+')', 'ig')
const sr = s.replace(re, (p0, p1) => '[[' + p1 +']]')
console.log(sr)

Но проблема в том, что при замене пропадает символ перед [[, который хватается по [^а-яё]
Получается
[[Зим]]ний вечер[[Зим]]а наступила. Хорошо[[зим]]ой.[[Зим]]овье


Можно ли сделать регулярку, чтобы символ не пропадал?

Последний раз редактировалось voraa, 16.03.2021 в 11:40.
Ответить с цитированием