在Python中,拆分文本的最佳方法是什么,以便我可以有3个列表来表示每个包(system,network和another_package)?
re.split('package ', text)
例如(非常难看):
re.split('(package\s\w*)', text)
是否也可以捕获包名称?
编辑 - 也许我明白了:
$content
答案 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()]
...每个部分的第一个单词是包名。