Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Expressões regulares para novatos, usando Python

Introdução a expressões regulares usando Python |
A gentle introduction to regular expressions, using python examples.

  • Login to see the comments

Expressões regulares para novatos, usando Python

  1. 1. Globalcode – Open4education ExpressõesRegularesparanovatos,usando Python AmomMendes
  2. 2. Globalcode – Open4education Agenda • Oquesãoexpressõesregulares • Paraqueservem? • Metacaracteres • Notebook
  3. 3. Globalcode – Open4education Agenda • Oquesãoexpressõesregulares • Paraqueservem? • Metacaracteres • Notebook
  4. 4. Globalcode – Open4education Agenda • Oquesãoexpressõesregulares • Paraqueservem? • Metacaracteres • Notebook
  5. 5. Globalcode – Open4education Agenda • Oquesãoexpressõesregulares • Paraqueservem? • Metacaracteres • Notebook(talvez!)
  6. 6. Globalcode – Open4education Motivação
  7. 7. Globalcode – Open4education Motivação
  8. 8. Globalcode – Open4education OquesãoExpressõesregulares?
  9. 9. Globalcode – Open4education OquesãoExpressõesregulares? “Método formal de especificar um padrão de texto” import re
  10. 10. Globalcode – Open4education OquesãoExpressõesregulares? “Hoje tem trilha de Python no TDC” Caracteresliterais
  11. 11. Globalcode – Open4education OquesãoExpressõesregulares? “Hoje tem trilha de Python no TDC” re.search (r‘(?i) (python).*(tdc)) Caracteresliterais Regra(Símb.+Carac.Fn.Especiais)
  12. 12. Globalcode – Open4education OquesãoExpressõesregulares? “Hoje tem trilha de Python no TDC” re.search (r‘(?i) (python).*(tdc)) ‘Python no tdc’ Caracteresliterais Regra(Símb.+Carac.Fn. Especiais) Match(casou)
  13. 13. Globalcode – Open4education Paraqueservem? • Muita|Qualquercoisarelacionadaabuscadepadrõesdecaracteres • Routerdepáginas(ex.django) • Datas/Horários • Nomes • E-mails • WebScrapping • Consultabancosdedados • Substituiçãodecaracteres • Etc,etc
  14. 14. Globalcode – Open4education Porondecomeçar?
  15. 15. Globalcode – Open4education Metacaracteres • Principais . ? * + ^ $ | [ ] { } ( )
  16. 16. Globalcode – Open4education Metacaracteres • Simplificando ^$b Representantes Quantificadores Âncoras Outros . [ ][^] ?*+{ } | (..) 1
  17. 17. Globalcode – Open4education Metacaracteres . Métodofindall:retornaumlista comtextoscasados( ) • Representantes
  18. 18. Globalcode – Open4education Metacaracteres . re.findall(r'n.o', #Expressão 'não, nao, neo, nso, nzo,nap')#String ['não', 'nao', 'neo', 'nso', 'nzo'] • Representantes
  19. 19. Globalcode – Open4education Metacaracteres [...] • Representantes
  20. 20. Globalcode – Open4education Metacaracteres re.findall (r'[naão]', 'não, nao, neo') ['n', 'ã', 'o', 'n', 'a', 'o', 'n', 'o'] • Representantes
  21. 21. Globalcode – Open4education Metacaracteres m = re.search(r'[0-9][0-9]:[0-9][0-9]', 'Cheguei as 11:00 horas no TDC hoje') m.group() • Representantes
  22. 22. Globalcode – Open4education Metacaracteres m = re.search(r'[0-9][0-9]:[0-9][0-9]', 'Cheguei as 11:00 horas no TDC hoje') m.group() Métodosearch:testasecasoueretorna umobjetocominformaçõesdomatch( ) • Representantes
  23. 23. Globalcode – Open4education Metacaracteres m = re.search(r'[0-9][0-9]:[0-9][0-9]', 'Cheguei as 11:00 horas no TDC hoje') m.group() 11:00 • Representantes
  24. 24. Globalcode – Open4education m = re.findall(r'[^A-z ]’, 'Cheguei as 11: 00 horas no TDC hoje') ['1', '1', ':', '0', '0'] Metacaracteres • Representantes
  25. 25. Globalcode – Open4education ? Metacaracteres • Quantificadores
  26. 26. Globalcode – Open4education re.findall (r'fala[r!]?', 'falar, fala!, fala') ['falar', 'fala!', 'fala'] Metacaracteres • Quantificadores
  27. 27. Globalcode – Open4education * Metacaracteres • Quantificadores
  28. 28. Globalcode – Open4education re.findall (r'Ah*!', 'Ah!, Ahhh!, Ahhhh!, Ahhhhhhhhh!') ['Ah!', 'Ahhh!', 'Ahhhh!', 'Ahhhhhhhhh!'] Metacaracteres • Quantificadores
  29. 29. Globalcode – Open4education .* re.findall (r'Ah.*!', 'Ah!, Ahhh!, Ahhhh!,A(h * 1000)!') 'Ah!, Ahhh!, Ahhhh!,A (h * 1000)!' Metacaracteres • Quantificadores
  30. 30. Globalcode – Open4education + if re.search(r'Ah+!', 'A!'): print (‘Casou’) else: print (‘Não Casou’) Não Casou Metacaracteres • Quantificadores
  31. 31. Globalcode – Open4education { } Metacaracteres • Quantificadores
  32. 32. Globalcode – Open4education re.findall (r'Ah{1,3}!','Ah!, Ahhh!, Ahhhh!, Ahhhhhhhhh!') ['Ah!', 'Ahhh!'] Metacaracteres • Quantificadores
  33. 33. Globalcode – Open4education Metacaracteres • Ancoras
  34. 34. Globalcode – Open4education = fome! Metacaracteres • Ancoras
  35. 35. Globalcode – Open4education notebook
  36. 36. Globalcode – Open4education Obrigado! amommendes@gmail.com

×