Я пытаюсь сопоставить абзацы, используя Python и Re.
Пример текста:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut Labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
два или более разрыва строки здесь
Stet clita kasd gubergren, no sea takimata Santus est Lorem ipsum dolor sit amet.
два или более разрыва строки здесь
Ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut Labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata Santus est Lorem ipsum dolor sit amet.
Это выражение, кажется, почти выполняет эту работу:
paragraphs = re.findall(r'(?s)((?:[^\n][\n]?)+)', textContent)
Но я хочу убедиться, что совпадение выполняется только в том случае, если есть два или более разрыва строки. В настоящее время это совпадает слишком часто.
Редактировать:
ART. WEFWEFEW
1 SDVSDRG: **<at the momemnt it breaks here, but it shouldnt>**
a. wevvdfvdfd
b. sdfsdfsdfsdfsdfsdghtrhrth
Редактировать2:
ART. WEFWEFEW
1 SDVSDRG:
**here are two line-breaks, but dont split this paragraph**
**at the momemnt it breaks here, but it shouldnt**
a. wevvdfvdfd
b. sdfsdfsdfsdfsdfsdghtrhrth
Currently it matches too often.– Какие части текста примера вы ожидаете от.findall()? - person wwii   schedule 07.09.2019re.split(r'\n{2,}',text)илиre.split(r'\n{3,}',text), илиre.findall(r'.+(?:\n(?!\n).*)*',text)- person Wiktor Stribiżew   schedule 07.09.2019re.split(r'\n{2,}(?![\n:])',text). Работает ли это так, как ожидалось? Если получится, отпишусь с пояснениями. - person Wiktor Stribiżew   schedule 07.09.2019r'(?<!:)\n{2,}'с re.split, но это не сработает. Я думаю, что если есть более двух разрывов строк, шаблон найдет совпадения между новыми строками. Вам следует подумать о том, чтобы переписать его дляre.findall. Что-то вродеre.findall(r'(?m)^.+(?:\n(?!\n).*|(?<=:)\n{2,}.*)*', text)(демонстрация). - person Wiktor Stribiżew   schedule 08.09.2019