Expressões regulares em Python
Maria Eugenia Inzaugarat
Data Scientist
Dois tipos de correspondência:
Quantificadores padrão são gulosos por padrão: *, +, ?, {num, num}
Gulosa: casa o máximo de caracteres possível
Retorna a maior correspondência
import re
re.match(r"\d+", "12345bcada")
<re.Match object; span=(0, 5), match='12345'>

Faz backtracking quando casou caracteres demais
Devolve caracteres um a um
import re
re.match(r".*hello", "xhelloxxxxxx")
<re.Match object; span=(0, 6), match='xhello'>

? aos quantificadores gulosos import re
re.match(r"\d+?", "12345bcada")
<re.Match object; span=(0, 1), match='1'>

Faz backtracking quando casou caracteres de menos
Expande os caracteres um a um
import re
re.match(r".*?hello", "xhelloxxxxxx")
<re.Match object; span=(0, 6), match='xhello'>

Expressões regulares em Python