2016-07-22 5 views
-1

Я хотел бы преобразовать такие вещи, как это:Заменить строки в Notepad ++

bitte 
---------- 

dream 
---------- 


---------- 

HD 
---------- 

ready 
---------- 

в такие вещи, как это:

bitte:dream 
HD:ready 

с использованием регулярных выражений. Какое регулярное выражение использовать? Как собрать все эти ряды?

ответ

2

Вы можете использовать регулярное выражение как

^(?:---+\R\s*)*(\w.*)\R---+\R(?:\h*\R)*(\w.*)\R---+$ 

И заменить $1:$2.

^ соответствует началу строки, (?:---+\R\s*)* спичек необязательных разделителей строк перед первой непустой строкой, (\w.*) является группа 1 захватывая слово голец с последующим 0+, кроме символа новой строки символов, \R---+\R соответствует разрыв строк следует с 3 + дефис и штриховая линия, (?:\h*\R)* соответствует n числу пустых строк, (\w.*) (см. выше) и \R---+$ соответствует строке и 3+ дефисам в конце строки.

enter image description here

+0

Почему бы не '- {3,}' вместо '--- +'? –

+0

Я нахожу '--- +' более читаемым подшаблоном. Фактически, он может быть заменен на '- {n}' by OP с точным числом дефисов, если он исправлен. –

0

Найти: \W*(\w+.*)[\r\n]+\-{5,}\s+(\w+.*[\r\n]+)\-{5,}\W*
Заменить: $1:$2

Предполагая, что это всегда более чем в 5 тире.

Новая строка после второго слова уже находится во второй группе захвата.

Смежные вопросы