如何使用Python正则表达式解析字符串" {'result':(Boolean, MessageString)} "
以将Boolean
和MessageString
分隔为变量?
答案 0 :(得分:2)
这有效:
>>> x = re.search('\((.*),\s*(.*)\)', " {'result':(Boolean, MessageString)} ")
>>> x.group(1)
'Boolean'
>>> x.group(2)
'MessageString'
答案 1 :(得分:1)
它看起来像Python语法中的字典+元组,所以eval()也可以工作(如果你信任源!!!)
答案 2 :(得分:0)
根据您的需要,除了正则表达式之外,还有其他解决方案。对于此特定示例,以下代码将起作用:
>>> compile("{'result':(Boolean, MessageString)}", '<expr>', 'eval').co_names
('Boolean', 'MessageString')
还有parser
模块可能对此类任务有用。