当前位置:  开发笔记 > 编程语言 > 正文

python正则表达式来分割段落

如何解决《python正则表达式来分割段落》经验,为你挑选了0个好方法。

如何编写一个正则表达式在python中使用来分割段落?

段落由2个换行符(\n)定义.但是,可以将任意数量的空格/制表符与换行符一起使用,并且它仍应被视为段落.

我正在使用python,因此解决方案可以使用扩展的python的正则表达式语法.(可以利用(?P...)东西)

例子:
the_str = 'paragraph1\n\nparagraph2'
# splitting should yield ['paragraph1', 'paragraph2']

the_str = 'p1\n\t\np2\t\n\tstill p2\t   \n     \n\tp3'
# should yield ['p1', 'p2\t\n\tstill p2', 'p3']

the_str = 'p1\n\n\n\tp2'
# should yield ['p1', '\n\tp2']

我能得到的最好的是:r'[ \t\r\f\v]*\n[ \t\r\f\v]*\n[ \t\r\f\v]*',即

import re
paragraphs = re.split(r'[ \t\r\f\v]*\n[ \t\r\f\v]*\n[ \t\r\f\v]*', the_str)

但那很难看.还有什么更好的?

编辑:

建议被拒绝:

r'\s*?\n\s*?\n\s*?'- >这会使示例2和3失败,因为\s包含\n,所以它允许段落中断超过2 \n秒.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有