Inconsistência entre expressões regulares sed e python

Peço desculpas se isso for publicado em algum lugar, mas minha pesquisa superficial não encontrou nada.

Ao fazer alguma programação em Python, notei que o seguinte comando:

re.sub("a*((ab)*)b", r"\1", "aabb")

retorna a string vazia. Mas um comando equivalente no sed:

echo "aabb" | sed "s/a*\(\(ab\)*\)b/\1/"

devolveab.

Faz sentido para mim que a diretiva "a *" no início do regex python correspondesse aos doisa's, causando "(ab) *" para coincidir com zero vezes, mas eu não tenho idéia de como sed vem comab. Alguém sabe qual é a diferença entre os dois mecanismos de regex que causa isso? Acredito que ambos combinam estrelas avidamente por padrão, mas ocorreu-me que o sed pode ser igual à direita e não à esquerda. Qualquer insight seria muito apreciado.

questionAnswers(2)

yourAnswerToTheQuestion