首页 > 解决方案 > 正则表达式在 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)没有提供所需的输出。

标签: pythonjsonregexkey-valuedata-extraction

解决方案


推荐阅读