Este artigo explica como criar e usar expressões regulares para determinar se as seqüências correspondem a determinados padrões. As expressões regulares facilitam a análise e correspondência de seqüências a um padrão específico. Usando os objetos disponíveis no espaço para nome
RegularExpressions, você pode comparar uma seqüência com um determinado padrão, substituir um padrão de seqüência por outra seqüência ou recuperar somente partes de uma seqüência de caracteres formatada. Neste exemplo, construiremos um padrão para validar um endereço de email.
Requisitos
A lista a seguir descreve as recomendações de hardware, software, infra-estrutura de rede e service packs necessários:
Este artigo parte do pressuposto de que você:
- Conhece o Visual C# .NET
- Tem conhecimentos básicos sobre a sintaxe da expressão regular
Usando expressões regulares para fazer a correspondência de um padrão
- Abra o Visual Studio .NET.
- Crie um novo aplicativo de console no Visual C#.
- Especifique a palavra-chave using no espaço para nome Text.RegularExpressions a fim de que não precise qualificar declarações nesses espaços para nome posteriormente no código. A instrução using deve ser usada antes de qualquer outra declaração:
using System.Text.RegularExpressions;
- Defina uma nova expressão regular que usará uma correspondência de padrão para validar um endereço de email. A expressão regular a seguir está estruturada para realizar três tarefas:
- Capturar a subseqüência antes do símbolo @ e colocá-la no grupo "user".
- Capturar a subseqüência após o símbolo @ e colocá-la no grupo"host".
- Certificar-se de que a primeira metade da seqüência não possui um símbolo @.
Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)"); - Defina uma nova seqüência que contenha um endereço de email válido. Esse procedimento fornecerá um valor padrão se o argumento de linha de comando do método estiver vazio:
String s = "johndoe@tempuri.org";
- Verifique se existe algum parâmetro de linha de comando. Se houver, recupere o primeiro parâmetro e atribua-o à variável "s".
if ( args.Length > 0 ) {
s = args[0];
} - Use o método Match para passar a variável de endereço de email e retornar um novo objeto Match. O objeto Match será retornado, independentemente da localização ou não de qualquer correspondência na seqüência de origem.
Match m = emailregex.Match(s);
- Examinando a propriedade Success, podemos decidir se o processamento do objeto Match continuará ou se uma mensagem de erro será impressa. Se o processamento for bem-sucedido, exiba os grupos "user" e "host" na coleção Groups do objeto Match.
if ( m.Success ) {
Console.WriteLine("User: " + m.Groups["user"].Value);
Console.WriteLine("Host: " + m.Groups["host"].Value);
} else {
Console.WriteLine(s + " is not a valid email address");
}
Console.WriteLine(); - Para manter a janela de console aberta após executar o aplicativo, adicione as seguintes linhas de código:
System.Console.WriteLine("Press Enter to Continue...");
System.Console.ReadLine(); - Crie o projeto.
- Para executar o aplicativo no ambiente de desenvolvimento usando o endereço de email padrão especificado no código, pressione F5 ou selecione Start no menu Debug. Para iniciar o aplicativo com um argumento de linha de comando, existem duas opções:
- Inicie uma janela de comando e navegue até a pasta "bin\debug" localizada na pasta em que o projeto reside. Em seguida, digite o nome do arquivo executável seguido do endereço de email que você deseja testar.
- Localize o arquivo executável deste projeto e arraste-o para a janela Iniciar...Executar na barra de tarefas. Adicione o endereço de email a ser verificado e pressione ou clique em OK .
REFERÊNCIAS