Almir Mendes @m3nd3s Expressões Regulares
 
“ Um método formal de se especificar um padrão de texto”
Analise sua ER como um “robozinho”
Metacaracteres
Representantes
Ponto O Coringa
n.o nao não noo [email_address] n.o n o entendo
Lista A exigente
[  ...  ]
[Tt]eclado Teclado teclado 12[:. ]45 12:45 12.45 12 45
<[bip]> <b> <i> <[BIPbip]> <B> <I> <P> <p>
[0123456789] [0-9]
[a-z] [A-Z] [:-@] [a-zA-Z0-9]
[ ][- ] “ [ ”, “ ] ”, “ - ”
Classes POSIX [:upper:] [:lower:] [:alpha:] [:alnum:] [:digit:] [:xdigit:] [:punct:]
[[:upper:]] Considera acentuação
Lista Negada
[^0-9] Qualquer coisa, exceto números
[:;,.!?][^ ] [[:punct:]][^ ]
Quantificadores
? O opcional
fala[r!]? </?[BIPbip]>
Asterisco:  O tanto faz *
6*0 bi*p b[ip]*
Mais: o tem-que-ter +
6+0 bi+p b[ip]+
Chaves: o controle {n,m}
a{1,3}b [0-9]{6,} [a-z]{0,5} k{3}
Ancoras
Circunflexo: o início ^
^[a-z_] ^[0-9] ^[^0-9]
Cifrão: o fim $
^$ ^.{20,40}$
Borda: a limítrofe \b
dia \bdia dia\b \bdia\b
Outros
Ou: | Escape: \ Grupo: (...) Retrovisor: \1 ... \9
^((0[1-9])|(1[0-2]))$ [+-]?[0-9]+,[0-9]{2} \([0-9]{2}\) ?[0-9]{4}-[0-9]{4}

Palestra regex