Это очень удобно для некоторых проблем:Возможно получить произвольный неупорядоченный набор именованных групп одним махом с модулем re-python?
>>> re.search('(?P<b>.b.).*(?P<i>.i.)', 'abcdefghijk').groupdict()
{'i': 'hij', 'b': 'abc'}
Но что, если я не знаю, что для того, чтобы ожидать раньше времени?
[обновление]
Например, скажем, у меня есть входной переменный, содержащие некоторый неизвестный порядок символов, и это просто так получилось, что «б» приходит после того, как «я». Я хочу по-прежнему иметь возможность ссылаться на группы для «.b». и я.' без необходимости упорядочивать мое регулярное выражение в соответствии с их порядком во входном var. Итак, я хотел бы сделать что-то вроде этого, но я не знаю, если это возможно:
>>> re.search('(?P<b>.b.)|(?P<i>.i.)', unknown_order_alphabet_str).groupdict()
{'i': 'hij', 'b': 'abc'}
[конец обновление]
Я искал вокруг и ломал мой мозг в кучу, но не может генерировать любые хорошие выводы. Угадать эту функциональность не существует, потому что, вероятно, единственный способ повторить это - отсканировать всю строку один раз для каждой группы (что, конечно, я мог бы сделать в цикле вместо этого), но я думал, что посмотрю, должен был сказать об этом.
Спасибо за вашу помощь,
Джош
Существует способ, который не требует слияния словаря или словаря. См. [Мой ответ] (http://stackoverflow.com/a/15112978/566639). – Joe