我试着用Python和Re来匹配段落。
文本的一个例子:
Lorem ipsum dolor,consetetur sadipscing elitr,sed diam非ut eirmod tempor sed dolore magna aliquyam erat,et diam voluptua。在vero eos等人的案件中,由dolores和ea rebum组成。 两个或更多行在这里中断, 没有海洋的圣洁,也没有同样的位置。 两个或更多行在这里中断, Ipsum dolor,consetetur sadipscing elitr,sed diam非ut eirmod d tempor sed dolore magna aliquyam erat,sed diam voluptua。在vero eos等人的案件中,由dolores和ea rebum组成。没有海洋的圣洁,也没有同样的位置。
这一表达似乎几乎做到了这一点:
paragraphs = re.findall(r'(?s)((?:[^\n][\n]?)+)', textContent)但我想确保只有当有两个或更多的分界点时才能匹配。目前它匹配得太频繁了。
编辑:
ART. WEFWEFEW
1 SDVSDRG: **<at the momemnt it breaks here, but it shouldnt>**
a. wevvdfvdfd
b. sdfsdfsdfsdfsdfsdghtrhrthEdit2:
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发布于 2019-09-07 17:55:35
查看这个regex (?m)(?:.+(?:\n.)?)+ on RegEx101,在这里您也可以得到它的解释。
使用此regex的Python代码示例:
import re
import pprint
textContent = '''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 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 diam voluptua. At vero eos et accusam et
justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.
ART. WEFWEFEW
1 SDVSDRG:
a. wevvdfvdfd
b. sdfsdfsdfsdfsdfsdghtrhrth'''
pprint.pprint(re.findall(r'(?m)(?:.+(?:\n.)?)+', textContent))输出:
['Lorem ipsum dolor sit amet, consetetur sadipscing elitr,\n'
'sed diam nonumy eirmod tempor invidunt ut labore et dolore\n'
'magna aliquyam erat, sed diam voluptua. At vero eos et\n'
'accusam et justo duo dolores et ea rebum.',
'Stet clita kasd gubergren, no sea takimata sanctus est Lorem\n'
'ipsum dolor sit amet.',
'Ipsum dolor sit amet, consetetur sadipscing elitr, sed diam\n'
'nonumy eirmod tempor invidunt ut labore et dolore magna\n'
'aliquyam erat, sed diam voluptua. At vero eos et accusam et\n'
'justo duo dolores et ea rebum. Stet clita kasd gubergren, no\n'
'sea takimata sanctus est Lorem ipsum dolor sit amet.',
'ART. WEFWEFEW\n'
' 1 SDVSDRG:\n'
' a. wevvdfvdfd\n'
' b. sdfsdfsdfsdfsdfsdghtrhrth']在雷克斯试验器上演示。
https://stackoverflow.com/questions/57834383
复制相似问题