Skip to main content
 首页 » 编程设计

python之在 python 中识别 'x:...y:...z:...' 的正则表达式

2025年05月04日22shangdawei

有一个字符串,内容格式为"x:...y:...z:...",'...'代表任意字符不包括':' ,并且可以包含任意数量的空格,我正在尝试将此类字符串拆分为 ['x:...', 'y:...', 'z:...' ], 如何在 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'] 

请您参考如下方法:

re.compile('\w+:[^:]*?(?=\w+:|$)')

意义

  1. 将一个或多个单词字符与冒号匹配
  2. 懒惰地匹配所有不是冒号的东西
  3. 找到一个或多个单词字符和一个冒号或行尾

Demo