Редактировать
Подождите, я думаю, я понимаю, что вы имеете в виду: вы хотите сохранить разрывы строк только после ваших строк данных. Если это так, попробуйте:
(?m)^([ \t]*|;.*)(\r?\n|$)
Небольшое объяснение:
(?m) # enable multi-line option
^ # match the beginning of a line
( # start capture group 1
[ \t]* # match any character from the set {' ', '\t'} and repeat it zero or more times
| # OR
; # match the character ';'
.* # match any character except line breaks and repeat it zero or more times
) # end capture group 1
( # start capture group 2
\r? # match the character '\r' and match it once or none at all
\n # match the character '\n'
| # OR
$ # match the end of a line
) # end capture group 2