2009-12-25 108 views
0

这可能很简单,但我无法弄清楚: 我需要正则表达式来提取以下记录(每个记录可以跨越多行并由一个或多个空行分隔):Python:正则表达式需要

TextTextTextTextTextTextText

TextTextTextTextTextTextTextTextText

(一个或多个空白行)

TextTextTextTextText

TextTextText

TextTextTextTextTextTextText

(一个或多个空行)

TextTextTextTextText TextTextTextTextTextTextTextTextTextText

+0

两种解决方案发布至今(可以是或利的)工作,但你可能会想对每个返回的项目执行.strip(),并且在迭代时跳过空字符串(对于像四重或更多空行,前导/尾随空行等)。 – 2009-12-25 15:21:42

+0

我的解决方案不会生成空字符串或前导空行。 – 2009-12-25 15:31:36

+1

@可以,例如,如果文本以换行符开始,肯定会。或者如果它以两个或更多换行符结束。这是微不足道的测试:'re.split(r'\ n \ n +','''\ ntext \ n \ ntext \ n \ n''')' – 2009-12-25 16:30:24

回答

4
import re 
re.split('\n\n+', text)