正则表达式从{'result':( Boolean,MessageString)}中提取“Boolean”和“MessageString”}

时间:2009-10-30 14:48:19

标签: python regex

如何使用Python正则表达式解析字符串" {'result':(Boolean, MessageString)} "以将BooleanMessageString分隔为变量?

3 个答案:

答案 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模块可能对此类任务有用。