Как добавить новую строку текста после определенного текста в Notepad++ при сохранении начальных строк - строки всегда начинаются с тех же двух слов, но с остальными.

Хорошо, у меня есть текст, который содержит несколько строк. Я хочу вставить новую строку после каждой строки, которая начинается с: «адрес источника» два слова. Эти два слова могут быть снова использованы в тексте, но я хочу ввести новые строки, содержащие «исходный порт любой» после каждой строки, которые начинаются со слов «адрес источника». Эти строки длиннее и не всегда содержат одни и те же слова, но они всегда начинаются со слов «адрес источника». Я хочу сохранить эти строки, но вводить новую строку, содержащую «порт источника любой» каждый раз, когда есть строка, начинающаяся с «адреса источника».

Я видел несколько близких похожих случаев, но, пожалуйста, помните о моих текущих ограничениях: эти строки не всегда одинаковы, поэтому, когда я использую замену, мне нужно запомнить / сохранить строку, которая не всегда одинакова, но начинается с тех же двух слов: ' адрес источника'.

Выражению регулярного выражения не удается найти «адрес источника». Я попытался: ^ .source address. $, Который находит строки, но он также совпадает, когда адрес источника находится не в начале строк - мне нужно только добавить новую строку, содержащую 'source port any' после строк, которые начинайте с «адреса источника», в то время как в этих строках, начиная с адреса источника, должны оставаться два слова - поэтому, когда происходит замена, она должна содержать предыдущую строку, начинающуюся с адреса источника. Кроме того, эта строка содержит больше слов, но не всегда одинаковых - только эти два слова адрес источника всегда одинаков.

Заранее благодарю.

1 ответ1

3

Используйте RegEx (Регулярные выражения) в Notepad++ для поиска и замены функций.

  • Найти что: (^source address.*)
  • Замените на: \1\nsource port any
  • Убедитесь, что Regular Expressions выбраны в качестве режима поиска.
  • . matches newline не выбран.

Это найдет любую строку, начинающуюся с (^) "адрес источника", и захватит ее (()). Затем он заменит эту строку захваченным текстом (\1), плюс маркер новой строки (\n), а также "исходный порт любой".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .