Notepad++ | Удалить/заменить подстроку с помощью RegEx

Notepad++ | Удалить/заменить подстроку с помощью RegEx

У меня есть следующий пример текста Notepad++:

params=id=ABC-12345|layout=1|external=true|project=12345_ABC|revision=1093180
params=id=ABC-12345|layout=1|external=true|revision=213121
params=id=ABC-12345|layout=1|external=true|project=12345_ABC|revision=3242342
project=12345_ABC|revision=3242342

Учитывая все линии, которые включаютобапараметр id=ABC-12345и параметр project=12345_ABCвызывают проблемы в приложении, которое запрашивает эти данные, я хотел бы удалить, project=12345_ABCно только из строк, которые также включают id=ABC-12345.

До сих пор я использовал следующее регулярное выражение для получения строк, включающих как параметры, так и значения:

id=ABC-12345.*project=12345_ABC

и я вручную удалил

project=12345_ABC

из этих строк (в приведенном выше примере необходимо отредактировать две строки).

Есть ли более эффективный способ, например с функцией замены из Notepad++? Что мне нужно будет туда вставить?

решение1

Вот как это сделать с помощью Notepad++ с диалоговым окном «Заменить»:

Найти что: id=ABC-12345(.*)project=12345_ABC
Заменить на:id=ABC-12345\1

Где \1означает текст, соответствующий первой (и единственной) группе в скобках. Регулярное выражение должно быть включено, но без "соответствует новой строке".

Использовано на ваших данных:

введите описание изображения здесь

Связанный контент