Javascript.RU

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

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

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.
Ответить с цитированием
  #2 (permalink)  
Старый 16.03.2021, 11:46
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Все. Дошло.
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2021, 11:48
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

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

var re = new RegExp('([^a-яё])('+sh+')', 'ig')
var sr = s.replace(re, '$1[[$2]]')
console.log(re, sr)
Ответить с цитированием
  #4 (permalink)  
Старый 16.03.2021, 12:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123


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

var re = new RegExp(`(?<=[^a-яё])${sh}`, 'ig')
var sr = s.replace(re, '[[$&]]')
console.log(re, sr)
Ответить с цитированием
  #5 (permalink)  
Старый 16.03.2021, 13:53
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

рони,
Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание строки по регулярному выражению 2chan Общие вопросы Javascript 31 29.11.2014 18:07
К строкам, соответствующим регулярному выражению добавить подстроку grifangel Общие вопросы Javascript 1 18.02.2014 20:33
Строка в массив по регулярному выражению Pegas12345 Элементы интерфейса 8 27.06.2013 21:16
Как получать вхождения при поиске по регулярному выражению nixml Общие вопросы Javascript 8 15.04.2013 19:51
Проверка строки на соответствие регулярному выражению Telnet Общие вопросы Javascript 9 17.07.2011 22:33