如何使用正则表达式匹配段落

发布于 2021-01-29 17:17:58

我一直在尝试使用python regex来尝试匹配文本中的段落,但是我没有成功。我需要获取这些段落的开始和结束位置。

文本示例:

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.

在此示例情况下,我想分别匹配以Lorem,Stet和Ipsum开头的所有段落(没有空行)。有谁知道如何做到这一点?

关注者
0
被浏览
277
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以像这样在双换行符上分割:

    paragraphs = re.split(r"\n\n", DATA)
    

    编辑: 要将段落捕获为匹配项,以便获取其起点和终点,请执行以下操作:

    for match in re.finditer(r'(?s)((?:[^\n][\n]?)+)', DATA):
       print match.start(), match.end()
    
    # Prints:
    # 0 214
    # 215 298
    # 299 589
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看