Abordagem divertida sobre expressões regulares
-
Upload
luis-gustavo-barreto -
Category
Software
-
view
64 -
download
5
Transcript of Abordagem divertida sobre expressões regulares
![Page 1: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/1.jpg)
FACULDADE SENAC-RS PELOTASAnálise e Desenvolvimento de Sistemas
Expressões RegularesLuis Gustavo S. Barreto
![Page 2: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/2.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/3.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/4.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/5.jpg)
![Page 6: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/6.jpg)
Exemplo
● Luis● Luiz● Luís● Luíz
Lu[ií][sz]
![Page 7: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/7.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/8.jpg)
Onde posso usar?
![Page 9: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/9.jpg)
![Page 10: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/10.jpg)
![Page 11: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/11.jpg)
Tá, vamos aprender!
![Page 12: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/12.jpg)
Expressões regulares...são meta caracteresque casamum padrão
pattern match.?*^$|[]{}()
![Page 13: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/13.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/14.jpg)
Meta caracteres
^ Circunflexo Âncora
$ Cifrão Âncora
\ Escape
| Ou
![Page 15: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/15.jpg)
Ponto
O coringa
![Page 16: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/16.jpg)
n.o● não● não● noo● n.o● n o● entendo
![Page 17: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/17.jpg)
ListaLista
A exigenteA exigente
![Page 18: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/18.jpg)
[gr]ato● gato● rato● grato
![Page 19: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/19.jpg)
[012][0123456789]:[012345][0123456789]
[0-2][0-9]:[0-5][0-9]
Intervalos em listas
![Page 20: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/20.jpg)
Lista Negada
● O contrário da lista
[^0-9] – Qualquer coisa, exceto um número
![Page 21: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/21.jpg)
??O opcionalO opcional
![Page 22: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/22.jpg)
casa[sr]?
● casas● casar● casa● casasr
![Page 23: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/23.jpg)
* AsteriscoO tanto faz
![Page 24: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/24.jpg)
8*
● 89abc● 8● 88● 888● 8888....
![Page 25: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/25.jpg)
MaisMaisO tem que ter +O tem que ter +
![Page 26: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/26.jpg)
GO+LGO+LGOLGOL
GOOLGOOLGOOOLGOOOL
GOOOOOOOOOOOLGOOOOOOOOOOOL
GLGL
?
![Page 27: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/27.jpg)
Chaves {}O controle
![Page 28: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/28.jpg)
go{1,4}l● gol● gool● goool● gooool
![Page 29: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/29.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/30.jpg)
Âncoras
● ^ Circunflexo– O início
● $ Cifrão– O fim
Minha casa
^casa$^casa$
EXEMPLO
![Page 31: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/31.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/32.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/33.jpg)
E agora?
Gratuito Pago
![Page 34: Abordagem divertida sobre expressões regulares](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/34.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022042615/55ae59bf1a28ab28298b4872/html5/thumbnails/35.jpg)
Obrigado!