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