A minha solução: (.+)@(?:caelum)?(?:alura)?.com.br
Olá Fernando,
Então, o problema do seu código desta forma é que ele não define qual prefixo de e-mail que se refere, se houvesse gmail, hotmail, etc... Ficaria confuso. Outro ponto é que se houver um e-mail com um número antes do @ como diz o exemplo, também daria um erro.
([a-z.]{4,14}[a-z\d])@(?:caelum.com.br|alura.com.br)
Desta forma fica bem especifico e bem simples ao mesmo tempo.