【发布时间】:2009-12-25 15:08:30
【问题描述】:
这可能很简单,但我想不通: 我需要正则表达式来提取以下记录(每条记录可能跨越多行并由一个或多个空行分隔):
TextTextTextTextTextTextText
TextTextTextTextTextTextTextTextText
(一个或多个空行)
TextTextTextTextText
TextTextText
TextTextTextTextTextTextText
(一个或多个空行)
TextTextTextTextText TextTextTextTextTextTextTextTextTextText
【问题讨论】:
-
到目前为止发布的任何一种解决方案(Can 的或 Eli 的)都可以工作,但您可能希望对返回的每个项目执行 .strip(),并在迭代时跳过空字符串(对于例如四倍或更多空行、前导/尾随空行等)。
-
我的解决方案不会生成空字符串或前导/尾随空行。
-
@Can,当然可以,例如,如果文本以换行符开头。或者如果它以两个或多个换行符结尾。测试很简单:
re.split(r'\n\n+', '''\ntext\n\ntext\n\n''')