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

Expressões regulares para novatos, usando Python

Embed Size (px)

Citation preview

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]