TJMT - Expresses Regulares

  • Published on
    20-Jun-2015

  • View
    1.041

  • Download
    9

Transcript

  • 1.

2. TJMT SESSES TCNICAS EXPRESSES REGULARES Da Teoria Prtica by William Thiago 3. Contedo Programtico

  • Ok, mas, o que so expresses regulares?
  • Auto o que? Fala em portugus.
  • Metaca... Repete por favor.
  • Mais? Calma, vou anotar.
  • Finalmente, dicas!
  • Me mostra algo prtico! Em C# de preferncia.
  • Onde eu procuro mais sobre isso?
  • Posso dar minha opinio?

4.

  • No alfabeto, voc aprende primeiro as letras individualmente, depois as slabas e palavras, frases e finalmente textos. No fundo so apenas letras.

Expresses Regulares 5. Histria

  • 1943 Publicao de um estudo sobre o funcionamento dos neurnios.
  • 195x Descrio algbrica dos modelos desse estudo, utilizando smbolos para representar seus recm criados grupos regulares.
  • 1968 Algortimo de busca no editor qed (Unix). Global Regular Expression Print.
  • 1986 Pacote gratuito em C: regex

6.

  • Representao formal de um autmato finito, com o objetivo de determinar um padro de texto.
  • Leitura atmica da esquerda para a direita

Expresso Regular ^[0-9]+. [0-9]*|. [0-9]+$ 7.

  • Em terra de metacaractere, quem tem um asterisco rei.

Metacaracteres Padres 8. Representativos

  • Ponto O promscuo .
    • Curinga solitrio, sempre procurando casamento.
      • Sempre casa com qualquer coisa, promscuo.
      • n.o no, nao, nmo, ...
      • 13.2013:20, 13h20, 13.20, ...
  • Lista A exigente [...]
    • Sabe exatamente o que quer, s casa com quem ela conhece.
      • n[a]o no, no
      • 13[:.h]20 13:20, 13.20, 13h20
      • [mpgr^]ato pato, gato, rato, mato, ^ato

9. Representativos

  • Lista A exigente [...]
    • Possui intervalos
      • 200[5-9] 2005, 2006, 2007, 2008, 2009
      • [a-zA-Z] alfabeto minsculo e maisculo
      • [][-a-z] ], [, -, alfabeto minsculo
  • Lista Negada A experiente [^...]
    • Devido as suas experincias no passado, sabe o que no serve para casar
      • [^0-9] qualquer coisa fora os nmeros
      • [^A-Z] qualquer coisa fora o alfabetomausculo

10. Quantificadores

  • Opcional O Calmo ?
    • No esquenta a cabea, se tem, timo, se no, tudo bem
      • ondas? onda, ondas
      • fala[r!]? fala, falar, fala!
      • ?[pbi]>

        ,

        , , , ,
  • Asterisco O Guloso Despreocupado*
    • Pode ter, pode no ter, pode ter vrios, infinitos
      • 3*0 0, 30, 330, 3330, 33333333330, ...
      • ru*a ra, rua, ruua, ruuuuuuuuuuuua, ....
      • [ar]*a a, aa, aaaa, raaa, raarararaa, ...

11. Quantificadores

  • Mais O Guloso Exigente +
    • Tem que ter, um ou vrios, infinitos
      • 3*0 30, 330, 3330, 33333333330, ...
      • ru*a rua, ruua, ruuuuuuuuuuuua, ....
  • Chaves O Guloso de Regime {n,m}
    • Sabe o cardpio mnimo e at onde pode comer
      • a{1,3} a, aa, aaa
      • a{3} aaa
      • a{0,1} igual ao Opcional
      • a{0,} igual ao Asterisco
      • a{1,} igual ao Mais

12. ncoras

  • Circunflexo O Iniciante ^
    • Marca o comeo da linha
      • ^[0-9] linha que comea com nmero
  • Cifro O Fim de Papo $
    • Marca o fim da linha
      • [0-9]$ linha que termina com nmero
  • Borda A Bordinha das Coisas
    • Marca o comeo das palavras (letras, nmeros)
      • dia dia, diafragma, bom-dia
      • dia dia, melodia, bom-dia
      • dia dia, bom-dia, bom-dia!

13. Outros Metacaracteres

  • Escape A Criptonita
    • Retira os poderes de quem ela acompanha
    • To forte que retira os prprios poderes
      • 1.[048] 1.0, 1.4, 1.8
      • aminho caminho
  • Ou O Alternativo |
    • uma lista de palavras
      • dia|tarde|noite dia, tarde, noite
      • http|ftp http, ftp

14. Outros Metacaracteres

  • Grupo O Agregador (...)
    • Marca um conjunto para ser trabalhado
      • (ha!)+ ha!, ha!ha!, ha!ha!ha!ha!
      • (www.)?zz.br www.zz.br, zz.br
      • boa-(tarde|noite) boa-tarde, boa-noite
  • Retrovisor O Nostulgico 1...9
    • Repete um grupo anterior
      • (quero)-?1 quero, quero-quero
      • ([a-z]+)1 bombom, lili, bibi, dudu
      • in(d)ol(or) sem 12 indolor sem dor
      • ([A-Za-z]+) 1 corretor de duplicaes

15.

  • O caminho das pedras s tortuoso se voc no leva um mapa um bom sapato.

Manual de Sobrevivncia 16. Dicas

  • No complique
    • Aplique a metodologia KISS.
      • (mini|(su|hi)per)?mercado (mini|super|hiper)?mercado
  • Use o Circunflexo
    • Se possvel, case no comeo!
    • Gaveta do chefe
  • Evite a Lista Negada
    • Qualquer coisa fora nmeros no significa que voc s quer letras
      • [^aqui]

17. Dicas

  • Evite o Curinga
    • Lembre-se que ele guloso. Ele pode comer toda sua expresso.
      • .*negrito e outro negrito
      • .*?negritoe outronegrito
  • Seja Ninja
    • De um passo de cada vez: Ex.: dd/mm/aaaa
      • ../../....
      • [0-9]{2}/[0-9]{2}/[0-9]{4}
      • [0123][0-9]/[01][0-9]/[0-9]{4}
      • (0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[12])/[12][0-9]{3}

18.

  • H 10 tipos de pessoas neste mundo: aquelas que sabem contar em binrio, e aquelas que no

Exemplos Prticos 19.

  • CTRL+C, CTRL+V, porque ningum faz nada sozinho.

Bibliografia 20. Links

  • http://guia-er.sourceforge.net/
  • http://aurelio.net/er/
  • http://www.addedbytes.com/cheat-sheets/
  • http://regexpal.com/
  • http://regexp.resource.googlepages.com/analyzer.html
  • http://www.nregex.com/nregex/default.aspx
  • http://osteele.com/tools/reanimator/
  • http://msdn.microsoft.com/en-us/library/hs600312.aspx
  • http://www.regular-expressions.info/
  • http://regexlib.com/

21.

  • Aproveite, expor os pensamentos e tirar dvidas ajuda a fixar.

Participe! Fale sua Opinio