Я пишу регулярное выражение для удаления чрезмерного количества разрывов строк из фрагмента текста и замены их на разрыв одной строки, когда символ новой строки \n
может встречаться в любом количестве конкатенаций с самим собой и символом пробела. Однако я не могу понять это правильно. Вот один текст, который не работает:
text
= 'Это текст \ n \ n \ n для иллюстрации. \ n \ n \ n \ n Это очень раздражает: \ n почему? '
Вот мой код:
import re
clean = re.compile(
"( *(?:\\n.?)+) +").sub(r"\n", text)
Однако я продолжаю получать разрыв строки в третьей строке I не хочу:
>>>print(clean)
"This is a text
for illustration.
It is most annoying:
why?
Кто-нибудь может предложить лучшее регулярное выражение? Спасибо.