Arquivo

Posts Tagged ‘Regular Expression’

Regex .NET – Regular Expression

Olá pessoal, neste artigo irei demonstrar como utilizar as famosas Regular Expression (Expressões Regulares) no .NET. Para quem não sabe Regular Expression de acordo com o site Wikipédia é uma forma concisa e flexível de identificar cadeias de caracteres dentro de um texto independente de plataforma. Em outras palavras significa que você pode utiliza-la quando deseja pesquisar seu texto tendo como filtro uma padrão de caracteres, ou então verificar se um formato de texto é válido e entre outras coisas. O objetivo deste artigo é demonstrar como o .NET trabalha com essas expressões regulares e não como as expressões funcionam. Para mais informações sobre Regular Expression segue abaixo alguns links.

http://pt.wikipedia.org/wiki/Express%C3%A3o_regular – Wikipédia

http://msdn.microsoft.com/en-us/library/az24scfc.aspx – Site da Microsoft

http://regexlib.com/Search.aspx – Contém uma série de expressões como cpf, cnpj e etc..

No mundo .NET nós temos o namespace System.Text.RegularExpression que permite trabalharmos com as Expressões.

Para fazer uma simples validação utilizamos o método estático IsMatch da classe Regex. Segue abaixo um exemplo.

  1. Console.WriteLine(Regex.IsMatch("12345", @"^\d{5}"));
  2. Console.WriteLine(Regex.IsMatch("1234", @"^\d{5}"));

 

Nestes dois exemplos estou utilizando a expressão “^\d{5}” que significa 5 dígitos ou mais para validar a string “12345” e a string “1234”. No primeiro caso o Regex.IsMatch retorna true já no segundo o retorno é falso, indicando que a string não passou pelo teste da expressão.

No método IsMatch você ainda tem a opção de configurar o funcionamento do mesmo utilizando o enumerador RegexOptions. Segue abaixo um exemplo de utilização, porém o enumerador tem muitas opções para você escolher.

  1. Regex.IsMatch("12345", @"^\d{5}", RegexOptions.Compiled)

Com o método Match você pode extrair partes do texto que estão de acordo com sua regular expression. Segue abaixo um exemplo:

  1. Match m = Regex.Match("Blog do: Francisco Gonçalves", "Blog do: (.*$)");
  2. Console.WriteLine(m.Groups[1]);
  3. Console.WriteLine(m.Success);

 

Na primeira linha estou passando como parâmetro a string que será verificada e como segundo parâmetro qual será o pattern de extração. Na segunda linha estou verificando o primeiro grupo que foi extraído do texto e na última linha estou verificando a propriedade que indica se a extração foi um sucesso ou não.

A classe Regex tem um método estático para substituição de string chamado Replace. Veja como utilizar.

  1. Console.WriteLine(Regex.Replace("1a2v3c", @"[\d]", "#"));

 

Neste exemplo estou substituindo todos os numerais da string “1a2v3c” por “#”.

Este foi um post pequeno, porém espero que seja útil para o seu dia-a-dia. Até o próximo.

Categorias:.NET Framework Etiquetas:,
%d bloggers like this: