Expressão Regular

Expressão Regular é um padrão de combinação de caracteres que é parte de diversas linguagens de programação modernas. Com a expressão regular podemos criar padrões para filtrar ou validar uma string de entrada através de uma expressão válida.

Alguns caracteres na expressão regular que têm funções especiais, e recebem o nome de metacaracteres, a combinação desses símbolos com caracteres literais da-se a criação de expressão.

Com a expressão regular é possível validar padrões de escrita como:

  • Número IP
  • E-mail
  • CPF

Para aprender a sintaxe utilizada na criação da expressão regular, segue uma versão on-line da obra de Expressões Regulares – Guia de Consulta Rápida.

OBSERVAÇÕES:

Em Java suporte a expressões regulares tem sido parte da plataforma Java desde a versão 1.4. e está contidas no pacote java.util.regex .

EM C# para utilizar expressões regulares, precisamos incluir o namespace System.Text.RegularExpressions .

Exemplo de expressão regulares com C#

Para testar a utilização de expressão regular, criei um projeto do tipo Console Application, e inclui o seguinte código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
public static void Main(string[] args)
        {
            // expressões para filtrar as palavras a serem apresentadas
            // cria padrão para todas as palavras que contenham a expressão ATO
            string padrao1 = ".ato";
            // cria padrão para todas as palavras que contenham caracteres especias
            string padrao2 = ".\\?|.\\+|.\\!";
            // cria padrão para todas as palavras que contenham caracteres numéricos
            string padrao3 = "[0-9]";
 
            // cara lista para armazenar as palavras a serem filtradas
            List<string> paravras = new List<string>(10);
 
            paravras.Add("9pato");
            paravras.Add("rat3o");
            paravras.Add("mato");
            paravras.Add("gato");
            paravras.Add("te5to");
            paravras.Add("ramo");
            paravras.Add("duv6ida?");
            paravras.Add("soma+");
            paravras.Add("opa?");
            paravras.Add("que!");
 
            // Cria objetos que representa uma expressão regular
            Regex regex1 = new Regex(padrao1);
 
            Console.WriteLine("Busca de palavras com o padrão ATO");
            Console.WriteLine("");
 
            foreach (string str in paravras)
            {
                // verifica se palavra esta de acordo com o padrão
                // se for verdadeiro entra dentro do laço
                if (regex1.IsMatch(str))
                {
                    Console.WriteLine(str);
                }
            }
 
            // Cria objetos que representa uma expressão regular
            Regex regex2 = new Regex(padrao2);
 
            Console.WriteLine("");
            Console.WriteLine("Busca de palavras com caracteres especias");
            Console.WriteLine("");
 
            foreach (string str in paravras)
            {
                if (regex2.IsMatch(str))
                {
                    Console.WriteLine(str);
                }
            }
 
            // Cria objetos que representa uma expressão regular
            Regex regex3 = new Regex(padrao3);
 
            Console.WriteLine("");
            Console.WriteLine("Busca de palavras que contenham o caracteres numericos");
            Console.WriteLine("");
 
            foreach (string str in paravras)
            {
                if (regex3.IsMatch(str))
                {
                    Console.WriteLine(str);
                }
            }
        }

Até mais… :-P

Compatilhe!
    This entry was posted in Programação, Tecnologia and tagged , , . Bookmark the permalink.

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>