python - 正则表达式在 Python 中的字符串中查找键值对并将其保存在字典中
问题描述
我想从一串传入日志中提取键值对,并将其存储在 python 的字典中。该值可以是任何格式。它可以是字符串、嵌套列表和字典。示例输入:
key1:"abc pqr" prop1:abc pqr lmn response: { abc: "pqr", prop2: {lmn: 1234}} text:["11", 222] @timestamp:May 14th 2020, 10:59:41.814
所需的python字典:
{"key1":"abc pqr",
"prop1:"abc pqr lmn",
"response":'{ "abc": "pqr","prop2": '{"lmn": "1234"}'}',
"text":"["11", 222]",
"@timestamp":"May 14th 2020, 10:59:41.814"}
正则表达式模式re.findall(r'(\S+):(".*?"|.*?:|)', input)
没有提供所需的输出。
解决方案
推荐阅读
- python - 如何修复递归列表中的单独输出
- docusignapi - 无法选择要用于提升集成密钥的生产帐户 ID?
- angular - 使用 auth0 lock 登录后如何将用户重定向到他们想要的 url
- scala - 为什么它不能识别 asScala 方法?
- prolog - 如何在不使用列表的情况下对谓词值求和?
- matlab - 图像旋转的最近邻插值算法说明
- artifactory - Artifactory 缺少“高级”菜单
- swift - Swift 错误致命错误:在展开可选值 (lldb) 时意外发现 nil
- scala - flatmap 是否比 filter+map 提供更好的性能?
- r - 使用 ggmap 获取卫星地图时遇到问题