使用python regex将文本拆分为多个部分

Tur*_*ute 2 python regex text

我有一个大的多行字符串,其中有多个条目遵循类似的格式.我想将它拆分为每个条目的字符串列表.

我尝试了以下方法:

myre = re.compile('Record\sTime.*-{5}', re.DOTALL)
return re.findall(myre, text)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,条目以"记录时间"开头,以"-----"结束.上面的代码不是按照我的方式行事,而是返回一个项目,从第一个条目的开头开始,到最后一个条目的结尾.

我可能会找到一种方法来通过使用正则表达式来查找段的结尾,然后从原始文本的片段开始重复,但这看起来很混乱.

NPE*_*NPE 5

您需要通过添加问号将其.*变为不情愿的匹配:

.*?
Run Code Online (Sandbox Code Playgroud)

否则,它会尽可能多地匹配,从第一个记录的中间到最后一个记录的中间.

请参阅Greedy vs. Reluctant vs. Possessive Quantifiers