Top Banner
Globalcode – Open4education Expressões Regulares para novatos, usando Python Amom Mendes
36

Expressões regulares para novatos, usando Python

Apr 16, 2017

Download

Technology

Amom Mendes
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Expressões Regulares para novatos, usando Python

Amom Mendes

Page 2: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Agenda

• O que são expressões regulares• Para que servem?• Metacaracteres• Notebook

Page 3: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Agenda

• O que são expressões regulares• Para que servem?• Metacaracteres• Notebook

Page 4: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Agenda

• O que são expressões regulares• Para que servem?• Metacaracteres• Notebook

Page 5: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Agenda

• O que são expressões regulares• Para que servem?• Metacaracteres• Notebook (talvez!)

Page 6: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Motivação

Page 7: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Motivação

Page 8: Expressões regulares para novatos, usando Python

Globalcode – Open4education

O que são Expressões regulares?

Page 9: Expressões regulares para novatos, usando Python

Globalcode – Open4education

O que são Expressões regulares?

“Método formal de especificar um padrão de texto”

import re

Page 10: Expressões regulares para novatos, usando Python

Globalcode – Open4education

O que são Expressões regulares?

“Hoje tem trilha de Python no TDC” Caracteres literais

Page 11: Expressões regulares para novatos, usando Python

Globalcode – Open4education

O que são Expressões regulares?

“Hoje tem trilha de Python no TDC”

re.search (r‘(?i)(python).*(tdc))

Caracteres literais

Regra(Símb. + Carac. Fn. Especiais)

Page 12: Expressões regulares para novatos, usando Python

Globalcode – Open4education

O que são Expressões regulares?

“Hoje tem trilha de Python no TDC”

re.search (r‘(?i)(python).*(tdc))

‘Python no tdc’

Caracteres literais

Regra(Símb. + Carac. Fn. Especiais)

Match (casou)

Page 13: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Para que servem?• Muita | Qualquer coisa relacionada a busca de padrões de caracteres

• Router de páginas (ex. django)• Datas / Horários• Nomes• E-mails• Web Scrapping• Consulta bancos de dados• Substituição de caracteres• Etc, etc

Page 14: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Por onde começar?

Page 15: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Metacaracteres

• Principais

. ? * + ^ $ | [ ] { } ( ) \

Page 16: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Metacaracteres

• Simplificando

^$\b

Representantes Quantificadores

Âncoras Outros

. [ ][^] ?*+{ }

\ | (..) \1

Page 17: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Metacaracteres

.Método findall: retorna um lista com textos casados( )

• Representantes

Page 18: Expressões regulares para novatos, usando Python

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

Page 19: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Metacaracteres

[...]• Representantes

Page 20: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Metacaracteres

re.findall (r'[naão]', 'não, nao, neo')

['n', 'ã', 'o', 'n', 'a', 'o', 'n', 'o']

• Representantes

Page 21: Expressões regulares para novatos, usando Python

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

Page 22: Expressões regulares para novatos, usando Python

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étodo search: testa se casou e retorna um objeto com informações do match( )

• Representantes

Page 23: Expressões regulares para novatos, usando Python

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

Page 24: Expressões regulares para novatos, usando Python

Globalcode – Open4education

m = re.findall(r'[^A-z ]’, 'Cheguei as 11:00 horas no TDC hoje')

['1', '1', ':', '0', '0']

Metacaracteres• Representantes

Page 25: Expressões regulares para novatos, usando Python

Globalcode – Open4education

?Metacaracteres• Quantificadores

Page 26: Expressões regulares para novatos, usando Python

Globalcode – Open4education

re.findall (r'fala[r!]?', 'falar, fala!, fala')

['falar', 'fala!', 'fala']

Metacaracteres• Quantificadores

Page 27: Expressões regulares para novatos, usando Python

Globalcode – Open4education

*Metacaracteres• Quantificadores

Page 28: Expressões regulares para novatos, usando Python

Globalcode – Open4education

re.findall (r'Ah*!', 'Ah!, Ahhh!, Ahhhh!, Ahhhhhhhhh!')

['Ah!', 'Ahhh!', 'Ahhhh!', 'Ahhhhhhhhh!']

Metacaracteres• Quantificadores

Page 29: Expressões regulares para novatos, usando Python

Globalcode – Open4education

.*re.findall (r'Ah.*!', 'Ah!, Ahhh!, Ahhhh!,A(h * 1000)!')

'Ah!, Ahhh!, Ahhhh!,A(h * 1000)!'

Metacaracteres• Quantificadores

Page 30: Expressões regulares para novatos, usando Python

Globalcode – Open4education

+if re.search(r'Ah+!', 'A!'):

print (‘Casou’)else:

print (‘Não Casou’)

Não Casou

Metacaracteres• Quantificadores

Page 31: Expressões regulares para novatos, usando Python

Globalcode – Open4education

{ }Metacaracteres• Quantificadores

Page 32: Expressões regulares para novatos, usando Python

Globalcode – Open4education

re.findall (r'Ah{1,3}!','Ah!, Ahhh!, Ahhhh!, Ahhhhhhhhh!')

['Ah!', 'Ahhh!']

Metacaracteres• Quantificadores

Page 33: Expressões regulares para novatos, usando Python

Globalcode – Open4education

Metacaracteres• Ancoras

Page 34: Expressões regulares para novatos, usando Python

Globalcode – Open4education

= fome!

Metacaracteres• Ancoras

Page 35: Expressões regulares para novatos, usando Python

Globalcode – Open4education

notebook

Page 36: Expressões regulares para novatos, usando Python

Globalcode – Open4education

[email protected]