Можно ли написать regexp, который удаляет все пробелы, но принимает разрывы строк? Может быть, это можно написать по-другому?
\h+
т.е. горизонтальные пробелы или [ ]+
- это то, что вы ищете.
\h matches any horizontal whitespace character (equal to [[:blank:]])