Регулярное выражение для извлечения "Boolean" и "MessageString" из {'result' :( Boolean, MessageString)} - PullRequest
0 голосов
/ 30 октября 2009

Как проанализировать строку " {'result':(Boolean, MessageString)} ", используя регулярные выражения Python, чтобы получить Boolean и MessageString, разделенные на переменные?

Ответы [ 3 ]

2 голосов
/ 30 октября 2009

Это работает:

>>> x = re.search('\((.*),\s*(.*)\)', " {'result':(Boolean, MessageString)} ")
>>> x.group(1)
'Boolean'
>>> x.group(2)
'MessageString'
1 голос
/ 30 октября 2009

Это похоже на словарь + кортеж в синтаксисе Python, поэтому eval () также будет работать (если вы доверяете источнику !!!)

0 голосов
/ 30 октября 2009

В зависимости от того, что вам нужно, может быть другое решение, чем регулярное выражение. Для этого конкретного примера будет работать следующий код:

>>> compile("{'result':(Boolean, MessageString)}", '<expr>', 'eval').co_names
('Boolean', 'MessageString')

Также имеется модуль parser, который может быть полезен для таких задач.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...