我对regex不熟悉,正在尝试从PDF提取的文本中提取段落。我想设定的标准是:任何以大写字母开头,以句号/问号/感叹号后跟换行符结尾的段。例如,如果我有字符串
"but Okay. So.\n What do we\n do now?\n I have no clue.\n"
我想把[“好的,那么.\n”,“我们现在要做什么?\n”,“我不知道.\n”]作为三个独立的块返回。
到目前为止,我一直在尝试:
re.findall("[A-Z].*[\.\?\!]\n",text,re.DOTALL)
但它不起作用,也就是说,它没有返回文本中的单独块。对于提供的示例,我只是一次性返回整个字符串。任何帮助都将不胜感激!
编辑:我应该澄清一下,我意识到我提供的示例并没有涵盖我试图避免的所有内容——我提取的文本中有一堆换行符,前面没有句号,我希望保持这些完整。还有一些以小写字母开头的零散位,它们不是实际段落的开头,所以我想也排除它们,并从大写字母开始匹配。