Сначала необходимо удалить все разрывы строк в начале строки.
/[\r\n]+$/mg
удалит все разрывы строк, но остановится перед последним концом символьной строки строки символьного разрыва строки, поэтому удаляются все начальные пустые строки, кроме последней.
Таким образом, в шаблоне PCRE (а также. NET, Java, Python re
, Ruby) вы можете использовать
\A[\r\n]+|[\r\n]+$
См. Регулярное выражение demo , используйте его с многострочным и глобальным флагом в тестере regex101.
Подробности
\A[\r\n]+
- начало строки и 1+ Символы CR и / или LF, как можно больше |
- или [\r\n]+$
- 1+ символов CR / LF, как можно больше, за которыми следует разрыв строки или конец строки.