我试图从一篇使用正则表达式的研究论文中提取结果和结论之间的段落。对于下面的样本,强调的段落之间的"6.结果“和"7.结论”应该是匹配的。
Lorem ipsum dolor,Lorem ipsum dolor,consectetuer adipiscing elit.发酵orci nec felis.三七总皂甙。
6.结果
Ut自由。[医]前庭[前庭][[ id ],[[ id ]][[id]]
野牛Nullam dapibus viverra quam.前庭同样坐着。
7.结论。
Duis不允许食用文冠花。
我试了一下,输出是None
x = (re.match(r'^[0-9]\s(Result)\.(.*?)^[0-9]\s(Conclusion)', text))
如何使用Python re模块提取段落?这假设regexes是最合适的工具,但它们不是答案所必需的。
发布于 2022-10-04 21:39:01
您也可以尝试将文档拆分为字符串列表,而不是使用regex。然后将元素组合起来,并将它们添加到一个新列表中,直到您命中一个节标题。也许是这样的:
blocks = []
with open('researchpaper.txt', 'r') as f:
lines = f.readlines()
block = ''
for line in lines:
if re.match('^d*\.\s.*'):
blocks.append(block)
block = ''
else:
block += linehttps://stackoverflow.com/questions/73952289
复制相似问题