Не очень тщательно протестировано, но что-то вроде этого может сработать: откройте диалоговое окно «Заменить», отметьте «Регулярные выражения», введите {^:b*:w+:b+:i:b+:i:b+=:b+.*;$\n}\n
в текстовое поле «Найти» и \1
в текстовое поле «Заменить» .
Короче говоря; сопоставить строки, соответствующие шаблону word identifier identifier = value;
, за которым следует пустая строка, пометить все совпадения, кроме последней новой строки, а затем заменить полное совпадение теговым выражением.
Это даст преимущество не слепого удаления всех пустых строк из файла, а только тех, которые следуют после типичных объявлений полей или переменных в сочетании с присвоением значений.
Разбивка выражения:
{ - Start of tagged expression
^ - Match beginning of line
:b* - Zero or more whitespace characters (such as space or tab)
:w+ - One or more alphabetic characters
:b+ - One or more whitespace characters
:i - An identifier string
:b+ - One or more whitespace characters
:i - An identifier string
:b+ - One or more whitespace characters
= - an equal sign
:b+ - One or more whitespace characters
.+ - One or more characters of any kind
; - a semicolon
$ - end of the line
\n - a newline
} - end of tagged expression
\n - a newline