1
resposta

Validando nomes com Regex

Lorena trabalha no setor de cadastros de uma empresa e precisa garantir que os nomes inseridos pelos clientes estejam no formato correto. O padrão esperado é que os nomes comecem com uma letra maiúscula e contenham apenas letras (sem números ou caracteres especiais). Para facilitar o trabalho, ela quer um programa que valide automaticamente os nomes fornecidos.

Ajude a Lorena criando um programa que solicite um nome ao usuário e verifique se ele atende às regras.

Exemplo de Entrada:

Digite o nome do cliente para validação: maria123

Saída esperada:

Nome inválido!

import re
 nome_cliente = input("Digite o nome do cliente para validação: ")
 print("Nome válido!" if re.fullmatch(r'^[A-Z][a-z]*', nome_cliente) else "Nome inválido!")
1 resposta

Oi, Carlos! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Chamou atenção o uso correto do re.fullmatch para garantir que o nome siga exatamente o padrão esperado, com letra inicial maiúscula e apenas letras.

Uma dica interessante para o futuro é usar quantificadores para aceitar nomes compostos, por exemplo permitindo espaços entre palavras, o que amplia a validação sem perder o controle do formato. Veja este exemplo:


import re

nome = input("Digite o nome do cliente: ")

padrao = r'^[A-Z][a-z]*(\s[A-Z][a-z]*)*$'

if re.fullmatch(padrao, nome):
    print("Nome válido!")
else:
    print("Nome inválido!")

Esse código valida nomes simples ou compostos, exigindo que cada parte comece com letra maiúscula e contenha apenas letras.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!