Regex

410 visualizações

Publicada em

introdução a expressões regulares, descrição dos principais metacaracteres envolvidos na criação de expressões regulares.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
410
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Regex

  1. 1. III Semana Acadêmica FACOMP UFPA Regex Lourdilene Souza lourdilene.souza@gmail.com
  2. 2. O que são expressões regulares ? “Uma expressão regular traduz um conjunto de padrões, possivelmente complicados e difíceis, pela sua dimensão, de enumerar, numa expressão de dimensão curta e, relativamente fácil de interpretar.” Aurelio Marinho Jargas
  3. 3. Terminologia ✔ Metacaractere ✔ Casar
  4. 4. Para que servem as expressões regulares ? data horário ✔ número IP ✔ nome de pessoa ✔ endereço de e-mail ✔ endereço de Internet ✔ nome de usuário e senha ✔ declaração de uma função() ✔ dados na coluna N de um texto ✔ dados que estão entre <tags></tags> ✔ campos específicos de um texto tabulado ✔ número de telefone, RG, CPF, cartão de crédito ✔ dados que estão apenas no começo ou no fim da linha ✔ ✔
  5. 5. Exemplo Quem acessou o sistema depois de 12:00 e antes das 18:00 ? 05:15 ernesto 08:39 ricardo 10:32 patricia 14:59 gabriel 16:27 carla 22:23 marcelo ^1[2-8]
  6. 6. Exemplos Data (0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3} ● Hora ([01][0-9]|2[0-3]):[0-5][0-9] ● Email [A-Za-z0-9_.-]+@([A-Za-z0-9_]+.)+[A-Za-z]{2,4} Numeros [-+]?[0-9]{1,3}(.[0-9]{3})?(,[0-9]{2})? Telefone ((0xx[0-9]{2}) ?)?[0-9]{4}-[0-9]{4}
  7. 7. Os metacaracteres meta mnemônico . ponto [] lista [^] lista negada ? opcional * asterisco + mais {} chaves ^ circunflexo $ cifrão b borda escape | ou () grupo 1 retrovisor
  8. 8. Ponto: o juiz ER = faze. “Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.[...]” Manifesto Ágil Com quais caracteres o ponto casou ? Quantas vezes nossa ER casou ? Meta Mnemônico Função Exemplos . ponto Um caractere .eclado qualquer Valores possíveis Teclado, teclado, zeclado, ...
  9. 9. Lista: a exigente [...] Sabe o que quer. Meta Mnemônico Função Exemplos Valores possíveis [...] lista Lista de caracteres permitidos [Tt]eclado Teclado, teclado
  10. 10. Lista negada: a experiente [^...] Meta: [^...] Mnemônico: Lista negada Função: Lista de caracteres proibidos Exemplos: wifi[^1-2] Valores possíveis: wifi3, wifi333, wifi4, wifi44567, ...
  11. 11. Opcional: o opcional ? Meta Mnemônico Função Exemplos Valores possíveis ? opcional Zero ou um sapato[s!]? sapatos, sapato!, sapato
  12. 12. Asterisco: o tanto-faz * Meta Mnemônico Função Exemplos Valores possíveis * asterisco Zero, um ou mais mu*ito mito, muito, muuito, muuuito, ...
  13. 13. Mais: o tem-que-ter + Meta: + Mnemônico: mais Função: Um ou mais Exemplo: mu+ito Valores possíveis: muito, muuito, muuuito, ...
  14. 14. Chaves: o controle {n,m} Meta Mnemônico Função Exemplos Valores possíveis {n, m} chaves mu{0, 1}ito mito, muito de n até m
  15. 15. Circunflexo: o início ^ Meta Mnemônico Função Exemplos Valores possíveis ^ circunflexo ^lu l&$o/#)*894 578... início da linha
  16. 16. Cifrão: o fim $ Meta Mnemônico Função Exemplos Valores possíveis $ cifrão lu$ 78......@&$o/ #)*99457lu fim da linha
  17. 17. Escape: a criptonita Meta Mnemônico Função Exemplos . escape Torna literal o [0-9].[0-9] caractere . {3}. [0-9]{3}-[09] Valores possíveis 2.222.222-2, 9.999.999-9, ...
  18. 18. Ou: o alternativo | Uma alternativa para cada situação. Meta: | Mnemônico: ou Função: Ou um ou outro Exemplos: Bom dia|Boa tarde Valores possíveis: Bom dia, Boa tarde
  19. 19. Grupo: o pop (...) Meta Mnemônico Função Exemplos Valores possíveis (...) grupo (.[0-9]){3} .0.6.2, .2.8.9, .6.6.6, ... delimita um grupo
  20. 20. Prática I Deseja-se realizar a validação da data em determinado formulário no formato dd/mm/aaaa ../../.... [0-9]{2}/[0-9]{2}/[0-9]{4} [0123][0-9]/[0-9]{2}/[0-9]{4} [0123][0-9]/[01][0-9]/[0-9]{4} [0123][0-9]/[01][0-9]/[12][0-9]{3} ([012][0-9]|3[01])/[01][0-9]/[12][0-9]{3} ([012][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3} (0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}
  21. 21. Prática II Deseja-se realizar a validação da data em determinado formulário no formato hh:mm ..:.. [0-9]{2}:[0-9]{2} [012][0-9]:[0-9]{2} [012][0-9]:[0-5][0-9] ([01][0-9]|2[0-3]):[0-5][0-9]
  22. 22. Testadores Online RegexPal - http://regexpal.com/ Testador de Expressões Regulares http://alessandrosantos.com.br/lab/er/ Rubular - http://www.rubular.com/ RegExr - http://gskinner.com/RegExr/ Regex - http://regex.larsolavtorvik.com/
  23. 23. Exemplo PHP <?php $hora = "15:00"; $er = "([01][0-9]|2[0-3]):([0-5][0-9])"; if (ereg($er, $hora, $matriz)) { echo "Na Semana Acadêmica da Faculdade de Computação, a palestra de REGEX começou às $matriz[1] horas e "; echo "$matriz[2] minutos.n"; } ?> Na Semana Acadêmica da Faculdade de Computação, a palestra de REGEX começou às 15 horas e 00 minutos.
  24. 24. Referência Portal brasileiro de expressões regulares http://aurelio.net/regex/
  25. 25. Obrigada!

×