Questo è super utile per alcuni problemi:È possibile recuperare un insieme arbitrario non ordinato di gruppi con nome in un unico colpo con il modulo re di Python?
>>> re.search('(?P<b>.b.).*(?P<i>.i.)', 'abcdefghijk').groupdict()
{'i': 'hij', 'b': 'abc'}
Ma cosa succede se io non so cosa per aspettarsi prima del tempo?
[aggiornamento]
esempio, dire che ho una variabile di ingresso contenente un ordine sconosciuto di caratteri, così succede che 'b' viene dopo 'i'. Voglio ancora poter fare riferimento ai gruppi per ".b". e io.' senza dover ordinare il mio regex in base al loro ordine nella variabile var. Quindi, vorrei poter fare qualcosa di simile, ma non so se è possibile:
>>> re.search('(?P<b>.b.)|(?P<i>.i.)', unknown_order_alphabet_str).groupdict()
{'i': 'hij', 'b': 'abc'}
[update fine]
Ho cercato in giro e tormentato il mio cervello un gruppo, ma non può generare qualsiasi buona porta. Indovinare questa funzionalità non esisterebbe perché probabilmente l'unico modo per farlo è scansionare l'intera stringa una volta per ogni gruppo (che ovviamente potrei fare in un ciclo invece) ma ho pensato di vedere cosa il cervello dello stackoverflow dovevo dire al riguardo.
Grazie per il vostro aiuto,
Josh
Esiste un modo che non richiede il 'finditer' o la fusione dei dizionari. Vedi [la mia risposta] (http://stackoverflow.com/a/15112978/566639). – Joe