Objetivo: Crie uma função Python que utilize Expressões Regulares para validar se uma string fornecida é um endereço de e-mail com um formato básico válido.
Crie o Arquivo Principal (exercicios_regex.py
):
re
.validar_email
que aceita um único argumento: email
(string).Defina o Padrão Regex para E-mail:
Dentro da função validar_email
, crie uma variável (ex: padrao
) e atribua a ela a sua string de expressão regular. Lembre-se de usar r""
(raw string).
O padrão deve ser capaz de reconhecer um e-mail com as seguintes características básicas:
.
, _
, %
, +
, .@
..
(ponto).^
) ao fim ($
) da string para garantir que a string inteira corresponda ao formato.Dica para a Expressão Regular (Não se preocupe em escrevê-la agora, apenas comece a pensar):
Lembre-se que um e-mail tem três partes principais: nome_de_usuario
@ dominio
. tld
. A expressão regular precisará "casar" com essas três partes em ordem.
Implemente a Lógica de Validação:
validar_email
, utilize a função re.match()
para tentar casar o padrão com a string email
.validar_email
deve retornar True
se o e-mail for válido e corresponder ao padrão, e False
caso contrário.Adicione um Bloco de Demonstração (if __name__ == "__main__":
):
exercicios_regex.py
, adicione um bloco if __name__ == "__main__":
.validar_email
com alguns exemplos de e-mails válidos e inválidos e imprima o resultado. Isso permitirá que você teste rapidamente sua função.Crie o Arquivo de Testes (test_exercicios_regex.py
):
exercicios_regex.py
.unittest
.validar_email
do seu arquivo exercicios_regex
.TestValidarEmail
que herde de unittest.TestCase
.Escreva os Testes Unitários:
TestValidarEmail
, escreva pelo menos 4 métodos de teste (test_...
) para a função validar_email
.@
, sem TLD, com caracteres proibidos, etc.).self.assertTrue()
e self.assertFalse()
para verificar os resultados.Adicione um Bloco de Execução de Testes:
test_exercicios_regex.py
, adicione o bloco if __name__ == '__main__': unittest.main()
.Revisão Final e Boas Práticas:
validar_email
e para cada método de teste, explicando seu propósito, argumentos, retorno e detalhes importantes.black
e isort
para formatar seus arquivos (black .
e isort .
na pasta do exercício, com a venv ativada).