RegExp:按分隔符拆分文本

时间:2017-05-18 15:16:06

标签: python regex

在Python中,拆分文本的最佳方法是什么,以便我可以有3个列表来表示每个包(system,network和another_package)?

re.split('package ', text)

例如(非常难看):

re.split('(package\s\w*)', text)

是否也可以捕获包名称?

编辑 - 也许我明白了:

$content

1 个答案:

答案 0 :(得分:2)

据我所知,你的“非常丑陋”re.split已经做到了。一种可能的调整是制作模式r'^\s*package '并添加多行标志re.M。这将确保它只匹配“package”作为一行上的第一个单词。

这会捕获所有非空白部分:

[section.strip() for section in re.split('^\s*package ', text, flags=re.M) if section.strip()]

...每个部分的第一个单词是包名。