У меня есть следующий пример текста 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
означает текст, соответствующий первой (и единственной) группе в скобках. Регулярное выражение должно быть включено, но без "соответствует новой строке".
Использовано на ваших данных: