1
resposta

[Projeto] Validando datas

using System.Text.RegularExpressions;

Console.Write("Digite a data (dd/mm/aaaa): ");
string data = Console.ReadLine();

string padraoData = @"^\d{2}/\d{2}/\d{4}$";

bool valido = Regex.IsMatch(data, padraoData);

if (valido)
{
    Console.WriteLine("A data está no formato correto.");
}
else
{
    Console.WriteLine("Formato inválido! Use dd/mm/aaaa.");
}
1 resposta

Oii, Matheus!

Parabéns por concluir mais este desafio. É excelente ver como você aplicou as Expressões Regulares (Regex) para validar a estrutura de uma data, demonstrando um ótimo domínio sobre a manipulação de padrões em C#.

Sua resolução demonstra um entendimento claro sobre os delimitadores e quantificadores de uma Regex. Ao utilizar os símbolos ^ (início da linha) e $ (fim da linha), você garantiu que o sistema valide a entrada de forma rígida, não aceitando caracteres extras antes ou depois da data. O uso do \d{n} para especificar a quantidade exata de dígitos é a maneira mais limpa de construir essa regra de negócio.

Pra elevar ainda mais o nível do seu código, vale notar um detalhe sobre a semântica: embora a Regex valide o formato (ex: 99/99/9999), ela sozinha não verifica se a data é real (como 31/02/2026). Em sistemas de produção, costumamos usar o DateTime.TryParse após a validação da Regex para garantir que a data existe no calendário. Você pode conferir mais detalhes sobre esses padrões na documentação oficial sobre verificação de cadeias de caracteres em C#.

Conseguiu perceber como essa mesma lógica de estruturação poderia ser adaptada para validar outros formatos fixos, como um CPF ou um CEP, apenas alterando os quantificadores de dígitos?

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