вход моего файла:

bsg23
< Hi James
ab89n
> Hi Jamy
nd87a
< What about weekend?
90hsg
> What about sat/sun?

и вывод должен прийти:

< Hi James
> Hi Jamy
< What about weekend?
> What about sat/sun?

Означает удаление содержимого строки перед '>' и '<'.

Может кто-нибудь помочь. Заранее спасибо.

1 ответ1

1

В Notepad++ 6.9.1 я смог сделать это, выбрав Search-> Replace ... и поместив следующее регулярное выражение в поле «Find what:»:

(^[^<>\n]+)\n|\n[^<>\n]+

Затем оставьте поле "Заменить на" пустым и установите режим поиска "Регулярное выражение", оставив флажок "соответствует новой строке" и нажмите "Заменить все".

Как это устроено

(^[^<>\n]+)\n|\n[^<>\n]+ - это регулярное выражение Notepad++.

(^[^<>\n]+)\n Это подвыражение, которое соответствует строкам, которые не начинаются с < или > . Это соответствует первой строке текста в вашем примере ввода "bsg23".

| Указывает на чередование двух подвыражений

\n[^<>\n]+ Соответствует символу новой строки, за которым следуют символы, которые не являются < , > или символом новой строки. Это соответствует символам новой строки в конце строк, начинающихся с < или > и следующему тексту на следующей строке.

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