2024-09-25 00:23:19 发布
网友
有一个字符串的内容格式为“x:…y:…z:…”,“…”代表任何字符exclude':',并且可以包含任意数量的空格,我正在尝试将这样的字符串拆分为['x:…','y:…','z:…'],我如何在python中做到这一点?在
示例字符串:
'name: myname\n\naddress: myaddress1\nmyaddress2\n\nmyadress3\ncontact:mycontact\n'
我想要的是:
re.compile('\w+:[^:]*?(?=\w+:|$)')
意义
Demo
捕获除:之外的任何字符都没有用,因为它将包括换行符和address。您的实际需求似乎是:匹配所有文本,直到下一行包含冒号的开头。以下是一种方法:
:
address
re.split("\n+(?=.*:)", s.strip())
模式的意思是“一组换行符,后跟任何包含冒号的文本”。输入被剥离,这样最后的换行符将不包括在最终结果项中。在
re.compile('\w+:[^:]*?(?=\w+:|$)')
意义
Demo
捕获除
:
之外的任何字符都没有用,因为它将包括换行符和address
。您的实际需求似乎是:匹配所有文本,直到下一行包含冒号的开头。以下是一种方法:模式的意思是“一组换行符,后跟任何包含冒号的文本”。输入被剥离,这样最后的换行符将不包括在最终结果项中。在
相关问题 更多 >
编程相关推荐