Artigo: 308252 - Última revisão: segunda-feira, 21 de Julho de 2008 - Revisão: 7.0

Como fazer corresponder um padrão utilizando expressões regulares e Visual C#

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Para obter uma Visual Basic .NET versão deste artigo, consulte 301264  (http://support.microsoft.com/kb/301264/ ) .

Este artigo faz referência à seguinte espaço de nomes Microsoft .NET Framework Class Library:
  • System.Text.RegularExpressions

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este artigo passo a passo mostra como criar e utilizar expressões regulares para determinar se as cadeias correspondem a certos padrões. As expressões regulares permitem fácil análise e correspondência de cadeias para um padrão específico. Utilizar os objectos disponíveis no espaço de nomes RegularExpressions , pode comparar uma cadeia com um padrão específico, substituir um padrão de cadeia por outra cadeia ou obter apenas partes de uma cadeia formatada. Neste exemplo, irá criar um padrão para validar um endereço de correio electrónico.

Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que necessita:
  • Microsoft Visual C#
Este artigo pressupõe que está familiarizado com os seguintes tópicos:
  • O Visual C#
  • Sintaxe da expressão regular

Utilizar expressões regulares para corresponder a um padrão

  1. Inicie o Visual C#.
  2. Crie uma nova Visual C# consola de aplicação.
  3. Especificar a palavra-chave a utilizar no espaço de nomes Text.RegularExpressions para que não terá para qualificar declarações os espaços de nomes mais tarde no código. A instrução utilizando deve ser utilizada antes para outras declarações:
    using System.Text.RegularExpressions;
    					
  4. Defina uma nova expressão regular que irá utilizar uma correspondência de padrões para validar um endereço de correio electrónico. A seguinte expressão normal é estruturada para efectuar três procedimentos:
    1. Capturar a subcadeia antes do @ símbolo e colocar que para o grupo "utilizador".
    2. Capturar a subcadeia depois da @ símbolo e colocar que para o grupo "anfitrião".
    3. Garantir que a primeira metade da cadeia não têm um símbolo @.
    Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)");
    					
  5. Defina uma nova cadeia que contém um endereço de correio electrónico válido. Isto fornece um valor predefinido se o argumento da linha de comandos o método está vazio:
    String s = "johndoe@tempuri.org";
    					
  6. Verifique se existem quaisquer parâmetros da linha de comandos; se não existirem, obter o primeiro parâmetro e atribuir a variável "s".
    if ( args.Length > 0 ) {
    	s = args[0];
    }
    					
  7. Utilize o método maiúsculas para passar na variável de endereço de correio electrónico e devolver um novo objecto de maiúsculas . O objecto de acordo com devolverá independentemente se foram encontradas quaisquer correspondências na cadeia de origem.
    Match m = emailregex.Match(s);
    					
  8. Examinando a propriedade com êxito , a Microsoft pode decidir se continuar a processar o objecto de acordo com a ou imprimir uma mensagem de erro. Se tiver êxito, apresentar o "utilizador" e "anfitrião" grupos na colecção grupos do objecto de acordo com o nome.
    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();
    					
  9. Para manter a janela da consola aberta depois de executar a aplicação, adicione as seguintes linhas de código:
    System.Console.WriteLine("Press Enter to Continue...");
    System.Console.ReadLine();
    					
  10. Crie o projecto.
  11. Para executar a aplicação no ambiente de desenvolvimento utilizando o endereço de correio electrónico predefinido especificado no código de, prima F5 ou seleccione Iniciar no menu Debug . Para iniciar a aplicação com um argumento da linha de comandos, existem três opções:
    • No menu projecto , clique em Propriedades e, em seguida, clique em Debug . Na secção Opções de início no painel da direita, especifique o endereço correio electrónico que pretende testar. Prima F5 ou clique em Iniciar no menu Debug para executar a aplicação.

      no Visual C# .NET 2003: No menu projecto , clique em Propriedades . No painel da esquerda, clique na pasta Propriedades de configuração e, em seguida, faça clique sobre a depuração . Em Opções de iniciar , clique em Argumentos de linha de comandos e especifique o endereço de correio electrónico que pretende testar. Prima F5 ou seleccione Iniciar no menu Debug para executar a aplicação.
    • Iniciar uma janela de comandos e navegue para a pasta "bin\debug" na pasta em que reside o projecto. Em seguida, escreva o nome do executável seguido o endereço de correio electrónico que pretende testar.
    • Localize o ficheiro executável para este projecto e arraste-o para iniciar... executar janela na barra de tarefas. Adicione o endereço de correio electrónico para verificar e clique em ou prima ' OK ' .

Referências

Para obter mais informações, visite os seguintes Web sites da Microsoft Developer Network (MSDN):
Sintaxe de expressão regular
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/ab0766e1-7037-45ed-aa23-706f58358c0e.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/ab0766e1-7037-45ed-aa23-706f58358c0e.asp?frame=true)

Introdução ao expressões normais (JScript .NET)
http://msdn2.microsoft.com/en-us/library/28hw3sce(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/28hw3sce(vs.71).aspx)

Introdução ao expressões normais (Visual Basic Scripting Edition)
http://msdn2.microsoft.com/en-us/library/6wzad2b2.aspx (http://msdn2.microsoft.com/en-us/library/6wzad2b2.aspx)

Elementos de idioma expressões normais (referência geral do Microsoft .NET Framework)
http://msdn.microsoft.com/en-us/library/az24scfc(VS.71).aspx (http://msdn.microsoft.com/en-us/library/az24scfc(VS.71).aspx)

Objecto de expressão (RegExp) normal (biblioteca de classes Microsoft .NET Framework)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/05f9ee2e-982f-4727-839e-b1b8ed696d0a.asp (http://msdn.microsoft.com/en-us/library/az24scfc(VS.71).aspx)

A informação contida neste artigo aplica-se a:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2003 Standard Edition
Palavras-chave: 
kbmt kbsweptvs2008 kbhowtomaster kbsample KB308252 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 308252  (http://support.microsoft.com/kb/308252/en-us/ )