35
FACULDADE SENAC-RS PELOTAS Análise e Desenvolvimento de Sistemas Expressões Regulares Luis Gustavo S. Barreto

Abordagem divertida sobre expressões regulares

Embed Size (px)

Citation preview

Page 1: Abordagem divertida sobre expressões regulares

FACULDADE SENAC-RS PELOTASAnálise e Desenvolvimento de Sistemas

Expressões RegularesLuis Gustavo S. Barreto

Page 2: Abordagem divertida sobre expressões regulares

Por que aprender a utilizar expressões regulares?

● Utilidade● Facilita as coisas● É consistente, não sofre grandes alterações

Page 3: Abordagem divertida sobre expressões regulares

Teste...

if (nome.equals("Luis") ||

nome.equals("Luiz") ||

nome.equals("Luís") ||

nome.equals("Luíz"))

{

System.out.println("Bem-vindo");

}

Page 4: Abordagem divertida sobre expressões regulares

O que é?

Segundo a Wikipedia...

“(…) provê uma forma concisa e flexível de identificar cadeias de caracteres de interesse, como caracteres particulares, palavras ou padrões de caracteres”

Page 5: Abordagem divertida sobre expressões regulares
Page 6: Abordagem divertida sobre expressões regulares

Exemplo

● Luis● Luiz● Luís● Luíz

Lu[ií][sz]

Page 7: Abordagem divertida sobre expressões regulares

Outras aplicações

● Validação de endereço IP● Validação de endereço de e-mail● Validação de número de telefone● Validação de CEP● Validação de data● Validação de CPF

Page 8: Abordagem divertida sobre expressões regulares

Onde posso usar?

Page 9: Abordagem divertida sobre expressões regulares
Page 10: Abordagem divertida sobre expressões regulares
Page 11: Abordagem divertida sobre expressões regulares

Tá, vamos aprender!

Page 12: Abordagem divertida sobre expressões regulares

Expressões regulares...são meta caracteresque casamum padrão

pattern match.?*^$|[]{}()

Page 13: Abordagem divertida sobre expressões regulares

Meta caracteres. Ponto Representante

[] Lista Representante

[^] Lista Negada Representante

? Opcional Quantificador

* Asterisco Quantificador

+ Mais Quantificador

{} Chaves Quantificador

Page 14: Abordagem divertida sobre expressões regulares

Meta caracteres

^ Circunflexo Âncora

$ Cifrão Âncora

\ Escape

| Ou

Page 15: Abordagem divertida sobre expressões regulares

Ponto

O coringa

Page 16: Abordagem divertida sobre expressões regulares

n.o● não● não● noo● n.o● n o● entendo

Page 17: Abordagem divertida sobre expressões regulares

ListaLista

A exigenteA exigente

Page 18: Abordagem divertida sobre expressões regulares

[gr]ato● gato● rato● grato

Page 19: Abordagem divertida sobre expressões regulares

[012][0123456789]:[012345][0123456789]

[0-2][0-9]:[0-5][0-9]

Intervalos em listas

Page 20: Abordagem divertida sobre expressões regulares

Lista Negada

● O contrário da lista

[^0-9] – Qualquer coisa, exceto um número

Page 21: Abordagem divertida sobre expressões regulares

??O opcionalO opcional

Page 22: Abordagem divertida sobre expressões regulares

casa[sr]?

● casas● casar● casa● casasr

Page 23: Abordagem divertida sobre expressões regulares

* AsteriscoO tanto faz

Page 24: Abordagem divertida sobre expressões regulares

8*

● 89abc● 8● 88● 888● 8888....

Page 25: Abordagem divertida sobre expressões regulares

MaisMaisO tem que ter +O tem que ter +

Page 26: Abordagem divertida sobre expressões regulares

GO+LGO+LGOLGOL

GOOLGOOLGOOOLGOOOL

GOOOOOOOOOOOLGOOOOOOOOOOOL

GLGL

?

Page 27: Abordagem divertida sobre expressões regulares

Chaves {}O controle

Page 28: Abordagem divertida sobre expressões regulares

go{1,4}l● gol● gool● goool● gooool

Page 29: Abordagem divertida sobre expressões regulares

Curiosidades sobre as chaves

{0,1} zero até um Igual ao opcional

{0,} zero ou mais Igual ao asterisco

{1,} um ou mais Igual ao mais

Page 30: Abordagem divertida sobre expressões regulares

Âncoras

● ^ Circunflexo– O início

● $ Cifrão– O fim

Minha casa

^casa$^casa$

EXEMPLO

Page 31: Abordagem divertida sobre expressões regulares

Expressões Regulares em Java

● A classe String em java tem suporte built-in a expressões regulares

String nome = "luís";

if (nome.matches("[l]u[íi][sz]") {

}

Page 32: Abordagem divertida sobre expressões regulares

Expressões Regulares em PHP

● Em PHP a função ereg é utilizada para casar expressões regulares

$nome = "luís";

if (ereg("[l]u[íi][sz]", $nome)) {

}

Page 33: Abordagem divertida sobre expressões regulares

E agora?

Gratuito Pago

Page 34: Abordagem divertida sobre expressões regulares

Links

● Guia de Expressões Regulares:http://aurelio.net/regex/guia/

● Testador de Expressões Regulareshttp://regex101.com/

Page 35: Abordagem divertida sobre expressões regulares

Obrigado!