Python正则表达式,用于以不同换行分隔拆分文本块

2024-09-28 16:49:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想解析可以由两个以上的\n字符分隔的文本块(不是段落)。例如:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Morbi quam nunc, pretium quis tincidunt in, tincidunt vel arcu.
Class aptent taciti sociosqu ad litora torquent per conubia nostra.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Morbi quam nunc, pretium quis tincidunt in, tincidunt vel arcu. 
Class aptent taciti sociosqu ad litora torquent per conubia nostra.


Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Morbi quam nunc, pretium quis tincidunt in, tincidunt vel arcu. 
Class aptent taciti sociosqu ad litora torquent per conubia nostra.

第一个块用\n\n分隔,但第二个和第三个块用\n\n\n分隔。我只想使用string.split(r'\n\n')而不是regex,但是文本可以有任意数量的换行来分隔每个块。我似乎找不到一个允许任意数量换行的regex。在


Tags: inipsumloremdolorametsitelitmorbi
2条回答

re.split("\n\n+",my_text)。。。我想会有用的

你也可以这么做

map(lambda x:x.strip(),my_string.split("\n\n")) 

如果没有正则表达式,这应该可以正常工作

import re
re.split(r'\n{2,}', string)

可以通过以下几种方式指定重复:

  • *-重复上一个元素零次或多次
  • +-重复上一个元素一次或多次
  • {m,n}-在mn之间重复上一个元素,m如果没有提供,默认为0,n默认为无限(实际上是65535,但这是一个实现细节)。在

因此,为了匹配重复两次或更多次的\n,您可以使用\n{2,}。在

相关问题 更多 >