De bem com as expres{2}ões regulares
Flávio Silveira
Expressões para todos
^m(ü|ue|i)ll?er$
2 + 2 =
Grupos de metacaracteres
• Representantes
• Quantificadores
• Âncoras
• Outros
Representantes
. pontoUm caractere
qualquer
[...] listaLista de
caracteres permitidos
[^...] lista negadaLista de
caracteres proibidos
Exemplos rápidos
. a, b, v, :, ?, !, @
n[ãa]o não, nao
[a-z]ato [0-9][0-9]:[0-9][0-9]
mato, gato, rato, fato 03:55, 14:40, 99:99
12[:. ]25 12:25, 12.25, 12 25
Quantificadores
? Opcional Zero ou um
* AsteriscoZero, um ou
mais
+ Mais Um ou mais
{n,m} Chaves De n até m
Exemplos rápidos
77?7 77, 777
</?[apbi]></a>, </p>, </b>, </i>
<a>, <p>, <b>, <i>
[ar]*a a, ara, arara, ararara
Suel+en+Suelen, Suellen, Suellenn,
Suelenn, Suelllennn
[0-9]{5}-[0-9]{3} 80230-060, 83331-100
[0-9]{4,5}-[0-4]{4} 9876-9789, 99876-9789
Âncoras
^ Circunflexo Início de linha
$ Cifrão Fim de linha
\b BordaInício ou fim de
palavra
Exemplos rápidos
^A.* A loren ipsum... A pedra rola...
.*!$Fulano está acabado!
Socorro!
\bdia dia, diafragma, diabetes
Outros
\c Escape Torna o c literal
| OuOu um ou
outro
(...) GrupoDelimita um
grupo
\1...\9 RetrovisorTexto casado
nos grupos 1...9
Exemplos rápidos
\b[a-z]*\* merd*
(C|K)átia Cátia, Kátia
((su|hi)per)?mercadosupermercado,
hipermercado, mercado
([a-z]{3,5})?-\1quero-quero, fiu-fiu, dia-
dia
^m(ü|ue|i)ll?er$
^m(ü|ue|i)ll?er$
^m(ü|ue|i)ll?er$
^m(ü|ue|i)ll?er$
^m(ü|ue|i)ll?er$
^m(ü|ue|i)ll?er$
^m(ü|ue|i)ll?er$
Regex.pal.com
^[0-9]{5}-[0-9]{3}$
CEP
Extrair texto
^(<[a-z]+>)(.+)(<\/[a-z]+>)$
HiFi RegExp Tool
Onde usar?
• Editores de texto (Emacs, Google Docs, MS Word, BR Office)
• Linguagens de programação (…)
• Ferramentas (awk, grep)
• Bancos de dados (MySQL, Oracle, SQLite, PostgreSQL)
Referências
• Aurélio Marinho Jargas
Obrigado!