有一个字符串,其内容格式为&#34; x:... y:... z:...&#34;,&#39; ...&#39;代表任何字符排除&#39; <#39; ,包含任意数量的空格,我试图将此类字符串拆分为[ &#39; x:...&#39;,&#39; y:...&#39;,&#39; z:...&#39;],如何在python中执行此操作?
示例字符串:
'name: myname\n\naddress: myaddress1\nmyaddress2\n\nmyadress3\ncontact:mycontact\n'
我想得到的是:
['name: myname\n\n', 'address: myaddress1,\nmyadress2,\n\nmyadress3\n', 'contact:mycontact\n']
答案 0 :(得分:6)
答案 1 :(得分:2)
捕获除:
之外的任何字符都没有用,因为它包含换行符和address
。您的实际要求似乎是:将所有文本匹配到包含冒号的下一行的开头。这是一种方法:
re.split("\n+(?=.*:)", s.strip())
模式意味着“一组换行符后跟任何包含冒号的文本”。删除输入,以便最后的最后一行不会包含在最终结果项中。