Expressões regulares

6,308 views
6,212 views

Published on

Apresentação feita ao CEJUG (Grupo de Usuários Java do Ceará) no evento Café com Tapioca no dia 26/05/2012.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
6,308
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
66
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Expressões regulares

  1. 1. Expressões Regulares no cotidiano Rafael Santiago
  2. 2. Tópicos• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
  3. 3. Objetivo
  4. 4. ObjetivoDizer algo abrangente de uma forma simplificada.
  5. 5. Tópicos• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
  6. 6. Utilização
  7. 7. Utilização• Substituição• Validação• Realce de Sintaxe• Filtragem de informação Foco em padrões!
  8. 8. Tópicos• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
  9. 9. História
  10. 10. História• (1943) – Funcionamento dos neurônios• (1950) – Stephen Cole Kleene • Escreveu modelos desses estudos • Álgebra dos Conjuntos Regulares
  11. 11. História• (1965 - 1966) – Implementado QED (Quick EDitor) – Padrões em arquivos de texto – SDS 940
  12. 12. História• (1971) – Ken Thompson • Unix ed• (1973) – Aplicativo grep • global / regular expression / print
  13. 13. História• (1986) – Pacote regex • Pioneiro • Escrito na linguagem C • De graça!
  14. 14. Tópicos• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
  15. 15. Conceito
  16. 16. Conceito Em ciência da computação, uma expressão regular (ou o estrangeirismo regex, abreviação do inglês regular expression) provê uma forma concisa e flexível de identificar cadeias de caracteres de interesse, como caracteres particulares, palavras ou padrões de caracteres. Expressões regulares são escritas numa linguagem formal que pode ser interpretada por um processador de expressão regular, um programa que ou serve um gerador de analisador sintático ou examina o texto e identifica partes que casam com a especificação dada. Wikipedia – 24/04/2012
  17. 17. Tópicos• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
  18. 18. Ferramentas
  19. 19. Ferramentas• Metacaracteres• Padrão (Pattern) Semântica• Combinação (Match)• Interpretador de ER • CPF • Data • Hora
  20. 20. Ferramentas Casamento• Metacaracteres• Padrão (Pattern)• Combinação (Match)• Interpretador de ER Palavra Padrão
  21. 21. Metacaracteres
  22. 22. Metacaracteres• O que são metacaracteres? São caracteres que possuem um significado especial (ao invés do significado literal) em um programa de computador.
  23. 23. Metacaracteres• Representantes• Quantificadores• Âncoras• Miscelâneas
  24. 24. Metacaracteres • . (Ponto)• Representantes • [...] Lista• Quantificadores• Âncoras• Miscelâneas
  25. 25. Metacaracteres• Representantes •? •*• Quantificadores •+ •{}• Âncoras• Miscelâneas
  26. 26. Metacaracteres• Representantes• Quantificadores • ^ (Início de linha)• Âncoras •$• Miscelâneas
  27. 27. Metacaracteres• Representantes• Quantificadores• Âncoras • (escape)• Miscelâneas • | (ou) • (...) (grupo)
  28. 28. Metacaracteres Meta Mnemônico . ponto [] lista [^] lista negada ? opcional * asterisco + mais {} chaves ^ circunflexo $ cifrão b borda escape | ou () grupo 1 retrovisor
  29. 29. Atenção! Não confunda!• Na linha de comando – ? e o * são curingas – Especificam nomes de arquivos
  30. 30. Interpretador REGEX
  31. 31. API Java• java.util.regex – Matcher – Pattern• java.lang – String
  32. 32. API Java• java.util.regex Cria o Padrão – Matcher – Pattern• java.lang – String
  33. 33. API Java• java.util.regex – Matcher Busca o Padrão – Pattern• java.lang – String
  34. 34. API Java• java.util.regex – Matcher – Pattern• java.lang – String • matches • replaceFirst • replaceAll
  35. 35. Tópicos• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
  36. 36. Exemplos
  37. 37. Validação de dados que seguem um certo formato• Verificar se o formato é válido• Aplicar máscara• Critérios de Aceitação
  38. 38. Validação com StringTokenizer
  39. 39. Validação com Substring da classe String
  40. 40. Validação com ReplaceAll da classe String (Regex)
  41. 41. Aplicando máscaras com Pattern (Regex)
  42. 42. Critério de Aceitação
  43. 43. Tópicos• Objetivo• Utilização• História• Conceito• Ferramentas• Exemplos
  44. 44. Por que usar ER?
  45. 45. Por que usar ER?• Redução de código• Facilidade de manutenção• Otimizar buscas feitas em funções de busca/substituição em editores de texto
  46. 46. Dúvidas?
  47. 47. Obrigado! Rafael Santiago rmxsantiago@gmail.comhttp://br.linkedin.com/in/rmxsantiago

×