RegEx заменяет ленивые несколько хитов одновременно - PullRequest
0 голосов
/ 05 декабря 2018

Я хочу заменить abc xyz xyz на abc uvw uvw.С этим regEx поиск (abc)(.*?)(xyz) и замена на \1\2uvw Я получаю abc uvw xyz и необходимо повторить процедуру.Я тестирую в Notepad ++.Но даже кнопка «заменить все» не заменяет все попадания.Есть ли способ заменить все попадания сразу?

1 Ответ

0 голосов
/ 05 декабря 2018

Вы можете использовать

Найти что : (?:\G(?!^)|abc)\s*\Kxyz Заменить на : uvw

Подробности

  • (?:\G(?!^)|abc) - конец предыдущего матча или abc
  • \s* - 0 или более (замените * на + для соответствия 1 или более) пробелы
  • \K - оператор сброса соответствия, который отбрасывает весь найденный текст
  • xyz - xyz подстрока.

Примечание: если необходимо сопоставить эти xyz между строками, где xyz может появиться в начале строки, замените\G(?!^) с \G(?!^(?<![\S\s])) или \G(?!^(?<!(?s:.))).

См. Скриншот ниже:

enter image description here

...