Python Regex coinciden sólo la última aparición

Estoy experimentando algunos problemas al implementar una expresión regular para un patrón de cadena que se repite.

>>> re.findall('(\(\w+,\d+\)(?:,)?)+', '(a,b),(c,d),(e,f)') ['(e,f)'] 

Me gustaría ro conseguir los otros artículos también

La ayuda seria muy apreciada.

Eliminar el + ; su patrón coincide con todas las apariciones, pero el grupo solo puede capturar una ocurrencia, no puede repetir un grupo de captura de esa manera:

 >>> import re >>> re.findall('(\(\w+,\w+\),?)+', '(a,b),(c,d),(e,f)') ['(e,f)'] >>> re.findall('\(\w+,\w+\),?', '(a,b),(c,d),(e,f)') ['(a,b),', '(c,d),', '(e,f)'] 

donde reemplacé \d con \w para demostrar, y eliminé el grupo redundante que no captura alrededor de la coma. El grupo de captura más externo también es redundante; sin ella, re.findall() devuelve toda la expresión coincidente.