Regex backreference findall no funciona

Recientemente he estado usando expresiones regulares en un progtwig. En este progtwig los utilicé para encontrar palabras en una lista de palabras que coincidían con un determinado RE. Sin embargo, cuando intenté hacer una referencia a este progtwig, obtuve un resultado interesante.

Aquí está el código:

import re pattern = re.compile(r"[abcgr]([az])\1[ldc]") string = "reel reed have that with this they" print(re.findall(pattern, string)) 

Lo que esperaba era el resultado ["reel","reed"] (la expresión regular coincidió con estas cuando lo usé con Pythex )

Sin embargo, cuando ejecuté el código usando python (uso 3.5.1) obtuve el siguiente resultado:

['e','e']

Por favor, ¿puede alguien con más experiencia en REs explicar por qué tengo este problema y qué puedo hacer para resolverlo?

Gracias.

re.findall solo devuelve los valores capturados capturados con grupos de captura dentro del patrón de expresiones regulares.

Use re.finditer que mantendrá al grupo cero (todo el partido):

 import re p = re.compile(r'[abcgr]([az])\1[ldc]') s = "reel reed have that with this they" print([x.group(0) for x in p.finditer(s)]) 

Ver la demo IDEONE