Olá pessoal, o meu primeiro regex ficou parecido com a resposta do professor, porem eu utilizei dois pipe (|)
e quando eu testei usando outros emails eu encontrei alguns bugs.
^([a-z.]{5,14}\d|[a-z.]{5,15})@(?:caelum.com.br|alura.com.br)
Os erros encontrados são: 1- Se o nome do usuário tiver mais de 15 caracteres o regex funciona, mas o resultado não sai corretamente, precisamos usar o ^
para forçar o começo do match e assim obter o resultado correto; 2- Depois do @
temos que escape o ponto \.
pois queremos o ponto literal e não o meta-char any .
desse modo se o usarmos a virgula no email ,com,br
o regex não achará nenhum resultado; 3- No nome do usuário o primeiro caractere não pode ser o .
porque não existe email que comece com um ponto. Segue meu regex com essas 3 correções:
(^[a-z][a-z.]{3,13}[a-z\d])@(?:caelum|alura)\.com\.br