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

标签 python regex

有一个字符串,内容格式为"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

关于python - 在 python 中识别 'x:...y:...z:...' 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24536887/

相关文章:

python - Dask 图形执行和内存使用

python - Django 内联表单集和选择字段生成过多的数据库查询

python - 如何将带分隔符的字符串拆分成一个集合?

regex - XSD 模式限制 - 与正斜杠交替

regex - 带有 BRE '.' 的 sed(在 osx Snow Leopard 上)不匹配字符 > ascii 127

python - 使用文件中的正则表达式重新排列字符串

python - QT中创建 float 框UI的方法

python - "register machine"到底是什么?

python - 在 PySimpleGUI 中制作可编辑表格?

Android EditText 排除一些前导字符