EXPRESSÕES REGULARES       BIO LABS #5       LUCAS CATÓN
POR QUE UMA APRESENTAÇÃOSOBRE EXPRESSÕES REGULARES?MUITO ÚTEISDEPOIS DE POUCO TEMPO, TUDO PARECE MAIS FÁCILASSUNTO CONSIST...
NOMES...EXPRESSÕES REGULARESEXPREGERREGULAR EXPRESSIONSREGEXREGEXP
O QUE É?             SEGUNDO A WIKIPEDIA...   “(...) PROVÊ UMA FORMA CONCISA E FLEXÍVEL DEIDENTIFICAR CADEIAS DE CARACTERE...
?
PRA QUE SERVE?“(...) UMA MANEIRA DE PROCURAR UM TEXTOQUE VOCÊ NÃO LEMBRA EXATAMENTE COMO É,MAS TEM IDÉIA DAS VÁRIAÇÕES POS...
POR EXEMPLO          Saqueto          Sacketo          Sacheto         Sachetto     Sa(qu|ch|ck)ett?o
PRA QUE SERVE?“(...) UMA MANEIRA DE   PROCURAR UM TEXTOQUE VOCÊ NÃO LEMBRA     EXATAMENTE COMO É,MAS TEM IDÉIA DAS   VÁRIA...
PRA QUE SERVE?VALIDAR EMAIL, IP, TELEFONE, DATA, CEP, CPF..
POR EXEMPLO               Endereço IPd{1,3} . d{1,3} . d{1,3} . d{1,3}          255 . 180 . 45 . 80          192 . 168 . 1...
POR EXEMPLO                                      Endereço IPb(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[...
TAMANHO NÃO É DOCUMENTO.ÀS VEZES UMA REGEX MENOR É MELHOR...          E ÀS VEZES NÃO.
RESUMINDO...       “(...) É UM MÉTODO FORMALDE SE ESPECIFICAR UM PADRÃO DE TEXTO.”
ONDE POSSO USAR?
VAMOS APRENDER!
.?*+^$|[]{}()ER...SÃO METACARACTERESQUE CASAM UM PADRÃO.        “MATCH”        “PATTERN”
UM EXEMPLO RÁPIDO      [grp]ato       gato       rato       pato
METACARACTERES
Metacaractere     Nome      .            Ponto     []            Lista     [^]        Lista negada      ?          Opciona...
Metacaractere      Nome        ^         Cicunflexo        $           Cifrão        b          Borda                  Esca...
REPRESENTANTESMetacaractere     Nome             Função                                  Um caracter       .           Pon...
QUANTIFICADORESMetacaractere    Nome          Função      ?         Opcional      Zero ou um      *         Asterisco   Ze...
ÂNCORASMetacaractere      Nome          Função      ^          Circunflexo   Início da linha     $             Cifrão      ...
OUTROSMetacaractere     Nome            Função                               Torna o literal o     +           Escape     ...
REPRESENTANTESMetacaractere     Nome             Função                                Um caracter      .           Ponto ...
PONTOExpressão               Casa com   n.o                   não, nao, ... .eclado             teclado, Teclado, ...e.ten...
PONTOExpressão           Casa com  12.45        12:45, 12 45, 12.45, ...   <.>           <p>, <i>, <b>, ...
REPRESENTANTESMetacaractere     Nome             Função                                  Um caracter      .            Pon...
LISTAExpressão              Casa com  n[ãa]o                não, nao [Tt]eclado         Teclado, tecladoe[sx]tendido      ...
LISTAExpressão              Casa com  n[ãa]o                não, nao [Tt]eclado         Teclado, tecladoe[sx]tendido      ...
LISTAExpressão             Casa com<[PIBpib]>    <P>, <I>, <B>, <p>, <i>, <b>
LISTAO que eu preciso             ExpressãoUm número qualquer       [0123456789]
LISTAO que eu preciso              ExpressãoHora no formado                   [0123456789][0123456789]:[0123...    hh:mm
DÁ PRA MELHORAR?
INTERVALOS!
LISTAO que eu preciso           ExpressãoHora no formado                      [0-9][0-9]:[0-9][0-9]    hh:mm
DÁ PRA MELHORAR AINDA MAIS?
LISTAO que eu preciso           ExpressãoHora no formado                      [012][0-9]:[0-5][0-9]    hh:mm
LISTAExpressão               Casa com   A-z              Um monte de coisas A-Za-z        Letras maiusculas e minusculas  ...
REPRESENTANTESMetacaractere      Nome            Função                                  Um caracter       .           Pon...
LISTA NEGADAExpressão                   Casa com  [^0-9]                  a, b, c, %, #, $, ...                Qualquer co...
QUANTIFICADORESMetacaractere    Nome          Função      ?         Opcional     Zero ou um      *         Asterisco   Zer...
MAS ANTES...COMO SE LÊ UMA EXPRESSÃO REGULAR?
fala[r!]falar      fala!
fala[r!]?
OPCIONALExpressão           Casa com fala[r!]?         falar, fala!, fala                   <p>, <i>, <b></?[pib]>        ...
QUANTIFICADORESMetacaractere    Nome         Função      ?          Opcional    Zero ou um                            Zero...
ASTERISCOExpressão                       Casa com   7*0          0, 70, 770, ..., 7777777777777770, ...  bi*p             ...
ASTERISCOExpressão                  Casa com</?[bip] *>     </b>, </b >, <b   >, ..., <p   >, ...
GULODICE!    ?   *   +   {}
ASTERISCOExpressão         Casa com                      a  [ar]*a             ara                    arara
CORINGA!   .*
QUANTIFICADORESMetacaractere    Nome          Função      ?         Opcional      Zero ou um      *         Asterisco   Ze...
MAISExpressão                   Casa com   7+0        70, 770, ..., 7777777777777770, ...  bi+p                 bip, biip,...
QUANTIFICADORESMetacaractere    Nome          Função      ?         Opcional      Zero ou um      *         Asterisco   Ze...
CHAVESMetacaractere            Repetições    {1,3}                 De 1 à 3     {3,}          Pelo menos 3 (3 ou mais)    ...
ÂNCORASMetacaractere      Nome          Função      ^          Circunflexo   Início da linha     $             Cifrão      ...
ÂNCORASExpressão           Casa com  ^abc                abcdef...  xyz$               ...uvwxyz   sb          macãs, bana...
OUTROSMetacaractere     Nome            Função                               Torna o literal o     +           Escape     ...
OUTROS Expressão                  Casa com    lua*                     lua*gato|pato|rato          gato, pato, rato(d{1,3}...
OUTROS          Expressão                     Casa com             1+2?                        1+2?      bom-dia|boa-tarde...
abcdefs/(abc)(def)/21/g      defabc
METACARACTERES “MODERNOSOS”
UM PONTO NEGATIVO...
CONCLUSÃO              APRENDER EXPRESSÕES REGULARES                    É COMO O ALFABETO...      VOCÊ APRENDER PRIMEIRO A...
REFERÊNCIAS
REFERÊNCIAShttp://rubular.com/
JABA MODE=ON
REFERÊNCIAShttps://github.com/lucascaton/rugex
OBRIGADO!
DÚVIDAS?
Expressões Regulares (Bio Labs #5)
Expressões Regulares (Bio Labs #5)
Expressões Regulares (Bio Labs #5)
Expressões Regulares (Bio Labs #5)
Próximos SlideShares
Carregando em…5
×

Expressões Regulares (Bio Labs #5)

2.483 visualizações

Publicada em

http://blog.lucascaton.com.br/?p=979

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

Sem downloads
Visualizações
Visualizações totais
2.483
No SlideShare
0
A partir de incorporações
0
Número de incorporações
760
Ações
Compartilhamentos
0
Downloads
30
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Expressões Regulares (Bio Labs #5)

  1. 1. EXPRESSÕES REGULARES BIO LABS #5 LUCAS CATÓN
  2. 2. POR QUE UMA APRESENTAÇÃOSOBRE EXPRESSÕES REGULARES?MUITO ÚTEISDEPOIS DE POUCO TEMPO, TUDO PARECE MAIS FÁCILASSUNTO CONSISTENTE, NÃO SOFRE GRANDESALTERAÇÕS
  3. 3. NOMES...EXPRESSÕES REGULARESEXPREGERREGULAR EXPRESSIONSREGEXREGEXP
  4. 4. O QUE É? SEGUNDO A WIKIPEDIA... “(...) PROVÊ UMA FORMA CONCISA E FLEXÍVEL DEIDENTIFICAR CADEIAS DE CARACTERES DE INTERESSE, COMO CARACTERES PARTICULARES, PALAVRAS OU PADRÕES DE CARACTERES.”
  5. 5. ?
  6. 6. PRA QUE SERVE?“(...) UMA MANEIRA DE PROCURAR UM TEXTOQUE VOCÊ NÃO LEMBRA EXATAMENTE COMO É,MAS TEM IDÉIA DAS VÁRIAÇÕES POSSÍVEIS.”
  7. 7. POR EXEMPLO Saqueto Sacketo Sacheto Sachetto Sa(qu|ch|ck)ett?o
  8. 8. PRA QUE SERVE?“(...) UMA MANEIRA DE PROCURAR UM TEXTOQUE VOCÊ NÃO LEMBRA EXATAMENTE COMO É,MAS TEM IDÉIA DAS VÁRIAÇÕES POSSÍVEIS.”
  9. 9. PRA QUE SERVE?VALIDAR EMAIL, IP, TELEFONE, DATA, CEP, CPF..
  10. 10. POR EXEMPLO Endereço IPd{1,3} . d{1,3} . d{1,3} . d{1,3} 255 . 180 . 45 . 80 192 . 168 . 120 . 55 300 . 400 . 500 . 600
  11. 11. POR EXEMPLO Endereço IPb(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)b 255 . 180 . 45 . 80 192 . 168 . 120 . 55 300 . 400 . 500 . 600
  12. 12. TAMANHO NÃO É DOCUMENTO.ÀS VEZES UMA REGEX MENOR É MELHOR... E ÀS VEZES NÃO.
  13. 13. RESUMINDO... “(...) É UM MÉTODO FORMALDE SE ESPECIFICAR UM PADRÃO DE TEXTO.”
  14. 14. ONDE POSSO USAR?
  15. 15. VAMOS APRENDER!
  16. 16. .?*+^$|[]{}()ER...SÃO METACARACTERESQUE CASAM UM PADRÃO. “MATCH” “PATTERN”
  17. 17. UM EXEMPLO RÁPIDO [grp]ato gato rato pato
  18. 18. METACARACTERES
  19. 19. Metacaractere Nome . Ponto [] Lista [^] Lista negada ? Opcional * Asterisco + Mais {} Chaves
  20. 20. Metacaractere Nome ^ Cicunflexo $ Cifrão b Borda Escape | Ou () Grupo 1 $1 Retrovisor
  21. 21. REPRESENTANTESMetacaractere Nome Função Um caracter . Ponto qualquer Lista de caracteres [...] Lista permitidos Lista de caracteres [^...] Lista negada proibidos
  22. 22. QUANTIFICADORESMetacaractere Nome Função ? Opcional Zero ou um * Asterisco Zero, um ou mais + Mais Um ou mais {n,m} Chaves De n até m
  23. 23. ÂNCORASMetacaractere Nome Função ^ Circunflexo Início da linha $ Cifrão Fim da linha Início ou fim da b Borda palavra
  24. 24. OUTROSMetacaractere Nome Função Torna o literal o + Escape caracter + | Ou Ou um ou outro (...) Grupo Delimita um grupo 1...9 Texto casado nos Retrovisor $1...$9 grupos 1...9
  25. 25. REPRESENTANTESMetacaractere Nome Função Um caracter . Ponto qualquer Lista de caracteres [...] Lista permitidos Lista de caracteres [^...] Lista negada proibidos
  26. 26. PONTOExpressão Casa com n.o não, nao, ... .eclado teclado, Teclado, ...e.tendido estendido, extendido, eztendido, ...
  27. 27. PONTOExpressão Casa com 12.45 12:45, 12 45, 12.45, ... <.> <p>, <i>, <b>, ...
  28. 28. REPRESENTANTESMetacaractere Nome Função Um caracter . Ponto qualquer Lista de [...] Lista caracteres permitidos Lista de caracteres [^...] Lista negada proibidos
  29. 29. LISTAExpressão Casa com n[ãa]o não, nao [Tt]eclado Teclado, tecladoe[sx]tendido estendido, extendido 12[:. ]45 12:45, 12.45, 12 45 <[pib]> <p>, <i>, <b>
  30. 30. LISTAExpressão Casa com n[ãa]o não, nao [Tt]eclado Teclado, tecladoe[sx]tendido estendido, extendido 12[:. ]45 12:45, 12.45, 12 45 <[pib]> <p>, <i>, <b>
  31. 31. LISTAExpressão Casa com<[PIBpib]> <P>, <I>, <B>, <p>, <i>, <b>
  32. 32. LISTAO que eu preciso ExpressãoUm número qualquer [0123456789]
  33. 33. LISTAO que eu preciso ExpressãoHora no formado [0123456789][0123456789]:[0123... hh:mm
  34. 34. DÁ PRA MELHORAR?
  35. 35. INTERVALOS!
  36. 36. LISTAO que eu preciso ExpressãoHora no formado [0-9][0-9]:[0-9][0-9] hh:mm
  37. 37. DÁ PRA MELHORAR AINDA MAIS?
  38. 38. LISTAO que eu preciso ExpressãoHora no formado [012][0-9]:[0-5][0-9] hh:mm
  39. 39. LISTAExpressão Casa com A-z Um monte de coisas A-Za-z Letras maiusculas e minusculas Letras maiusculas e minusculasA-Za-z0-9 e ainda números
  40. 40. REPRESENTANTESMetacaractere Nome Função Um caracter . Ponto qualquer Lista de caracteres [...] Lista permitidos Lista de [^...] Lista negada caracteres proibidos
  41. 41. LISTA NEGADAExpressão Casa com [^0-9] a, b, c, %, #, $, ... Qualquer coisa que não seja o espaço [:;,.!?][^ ] após a pontuação
  42. 42. QUANTIFICADORESMetacaractere Nome Função ? Opcional Zero ou um * Asterisco Zero, um ou mais + Mais Um ou mais {n,m} Chaves De n até m
  43. 43. MAS ANTES...COMO SE LÊ UMA EXPRESSÃO REGULAR?
  44. 44. fala[r!]falar fala!
  45. 45. fala[r!]?
  46. 46. OPCIONALExpressão Casa com fala[r!]? falar, fala!, fala <p>, <i>, <b></?[pib]> </p>, </i>, </b>
  47. 47. QUANTIFICADORESMetacaractere Nome Função ? Opcional Zero ou um Zero, um ou * Asterisco mais + Mais Um ou mais {n,m} Chaves De n até m
  48. 48. ASTERISCOExpressão Casa com 7*0 0, 70, 770, ..., 7777777777777770, ... bi*p bp, bip, biip, biiiiiiiiip, ... b[ip]* b, bi, bp, bip, biipp, bpipi, biiiiiip, bpppp, ...
  49. 49. ASTERISCOExpressão Casa com</?[bip] *> </b>, </b >, <b >, ..., <p >, ...
  50. 50. GULODICE! ? * + {}
  51. 51. ASTERISCOExpressão Casa com a [ar]*a ara arara
  52. 52. CORINGA! .*
  53. 53. QUANTIFICADORESMetacaractere Nome Função ? Opcional Zero ou um * Asterisco Zero, um ou mais + Mais Um ou mais {n,m} Chaves De n até m
  54. 54. MAISExpressão Casa com 7+0 70, 770, ..., 7777777777777770, ... bi+p bip, biip, biiiiiiiiip, ... b[ip]+ bi, bp, bip, biipp, bpipi, biiiiiip, bpppp, ...
  55. 55. QUANTIFICADORESMetacaractere Nome Função ? Opcional Zero ou um * Asterisco Zero, um ou mais + Mais Um ou mais {n,m} Chaves De n até m
  56. 56. CHAVESMetacaractere Repetições {1,3} De 1 à 3 {3,} Pelo menos 3 (3 ou mais) {0,3} Até 3 {3} Exatamente 3 {1} Exatamente 1 {0,1} Zero ou 1 ? {0,} Zero ou mais * {1,} Um ou mais +
  57. 57. ÂNCORASMetacaractere Nome Função ^ Circunflexo Início da linha $ Cifrão Fim da linha Início ou fim da b Borda palavra
  58. 58. ÂNCORASExpressão Casa com ^abc abcdef... xyz$ ...uvwxyz sb macãs, bananas, uvas
  59. 59. OUTROSMetacaractere Nome Função Torna o literal o + Escape caracter + | Ou Ou um ou outro (...) Grupo Delimita um grupo 1...9 Texto casado nos Retrovisor $1...$9 grupos 1...9
  60. 60. OUTROS Expressão Casa com lua* lua*gato|pato|rato gato, pato, rato(d{1,3}.?){4} 200.135.40.30, 8.8.8.8 texto (.*) 1 texto
  61. 61. OUTROS Expressão Casa com 1+2? 1+2? bom-dia|boa-tarde bom-dia, boa-tarde www.bioritmo.com.br (www.)?bioritmo.com.br bioritmo.com.br 192.168.0.5d{1,3}.d{1,3}.d{1,3}.(d{1,3}) 1 5
  62. 62. abcdefs/(abc)(def)/21/g defabc
  63. 63. METACARACTERES “MODERNOSOS”
  64. 64. UM PONTO NEGATIVO...
  65. 65. CONCLUSÃO APRENDER EXPRESSÕES REGULARES É COMO O ALFABETO... VOCÊ APRENDER PRIMEIRO AS LETRAS INDIVIDUALMENTE.DEPOIS AS SÍLABAS, AS PALAVRAS, FRASES E FINALMENTE OS TEXTOS. MAS NO FUNDO, SÃO APENAS LETRAS!
  66. 66. REFERÊNCIAS
  67. 67. REFERÊNCIAShttp://rubular.com/
  68. 68. JABA MODE=ON
  69. 69. REFERÊNCIAShttps://github.com/lucascaton/rugex
  70. 70. OBRIGADO!
  71. 71. DÚVIDAS?

×