Найти от последней пустой строки до строки с помощью регулярных выражений

Мне нужно сделать поиск в jEdit для строки, начиная с конца последней пустой строки до другой строки:

blah
blah 
blah 
blah
blah 
empty line
empty line
empty line *start here*
blah 
blah
blah blah blah
blah
blah
blah ------ Running ------

Идея состоит в том, чтобы выполнить поиск и заменить, чтобы удалить все (я выделил жирным шрифтом) перед строкой ------ Выполнение ------, но не строки или строки перед этой последней строкой.

Может кто-нибудь предложить правильное регулярное выражение, чтобы найти от конца последней строки до начала строки ------ Выполнение ------?

Спасибо!

1 ответ

Решение

Используйте приведенное ниже регулярное выражение, а затем удалите соответствующую строку с пустой строкой.

(?s)(?<=\n)(?:(?!\n\n).)*\n(?=[^\n]+------ Running ------)

Java регулярное выражение будет,

(?s)(?<=\\n)(?:(?!\\n\\n).)*\\n(?=[^\\n]+------ Running ------)

DEMO

Другие вопросы по тегам