【发布时间】:2019-09-08 20:29:49
【问题描述】:
我尝试使用 Python 和 Re 匹配段落。
文本示例:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed 直径 voluptua。 At vero eos et accusam et justo duo dolores et ea 责备。
此处有两个或多个换行符
Stet clita kasd gubergren, no sea takimata sanctus 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 直径 voluptua。 At vero eos et accusam et justo duo dolores et ea 责备。 Stet clita kasd gubergren, no sea takimata sanctus 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
【问题讨论】:
-
您是否使用在线正则表达式测试器来尝试模式?
-
是,使用:pythex.org
-
two or more line-breaks或two-or-more empty lines? -
有什么区别?
-
Currently it matches too often.- 您希望.findall()返回示例文本的哪些部分?
标签: python regex paragraph findall