Você está na página 1de 16

COLETA DE CORPUS

NA WEB
CURSO BÁSICO
José Antonio V. S. de M. Oliveira
Aula 4 – Maio/2010
Revisão da Aula 3
 Expressões Regulares
 “Expressão regular é um método formal de
se especificar um padrão de texto”
 São metacaracteres que casam um padrão.
 Ponto – Casa com qualquer caracter
 Lista – [...] – Casa somente com o que está
definido entre os colchetes.
 Lista Negada – [^...] – Casa com qualquer coisa
que não esteja definida entre os colchetes.
 Dentro da Lista todo mundo é normal (menos o “-”,
“^”, e “]”. Dependendo da posição desses, eles
têm outro significado.
Revisão da Aula 2
 As listas seguem a tabela ASCII
 Interrogação – ? – Opcional – A entidade
anterior pode aparecer uma vez ou nenhuma.
 Asterisco – * – A entidade anterior pode
aparecer nenhuma vez, uma ou qualquer
número de vezes.
 O Asterisco é guloso
 .* é um curinga guloso. Use-o com moderação
Expressões Regulares
Metacaracteres
Quantificadores
 Mais: +
O mais exige que a entidade anterior exista
pelo menos uma vez.
 Patos+ casa com Patos, Patoss, Patosss, ...

 O + também é guloso! Na verdade ele é


tão guloso quanto o asterisco!
 O + é um asterisco mais exigente.
Expressões Regulares
Metacaracteres
Quantificadores
 Chaves: {n,m} O controle
 A entidade precedida pelas chaves aparecem de n a m
vezes.
 as{0,2}im casa com aim, asim e assim.

 as{2}im só casa com assim

 {4,} é igual a pelo menos quatro

 {0,1} tem o mesmo efeito da interrogação

 {0, } tem o mesmo efeito do asterisco

 {1, } tem o mesmo efeito do mais


Expressões Regulares
Metacaracteres Âncora
 Circunflexo - ^ - Começo da linha
 O circunflexo no início da expressão regular indica
que ela deve casar com o início da linha.
 ^pato Casa com a palavra pato somente quando ela
inicia a linha.
 Cifrão - $ - Final da linha
 O cifrão no final da expressão regular indica que ela
deve casar com o final da linha
 assim$ Casa com a palavra “assim” somente quando
ela está no final da linha.
 ^Brasil$ casa com linhas que só tenham a palavra
Brasil escrita.
 ^$ casa com linhas vazias
 ^.{80}$ casa com linhas com 80 caracteres
Expressões Regulares
Metacaracteres Âncora
 Borda - \b – Limites
A borda marca o limite de uma palavra
 dia casa com dia, diarista, diafragma,
tardia, bom-dia, radialista!
 \bdia casa com dia, diarista, diafragma e
bom-dia
 dia\b casa com dia, tardia, bom-dia
 \bdia\b casa com dia e bom-dia
 O conceito “palavra” engloba letras,
números e, em alguns programas, o
sublinhado.
Expressões Regulares
Outros Metacaracteres
 Escape: \ - Tira o poder de
metacaracteres
 \. casa com um ponto.
 Brasil\. casa com Brasil.

 \.\*\. casa com .*.

 Sempre que precisarmos casar um caracter


usado como metacaracter, usamos a barra
antes dele, para defini-lo literalmente.
 Ah, \\ casa com \
Expressões Regulares
Outros Metacaracteres
 Ou - |
 bom-dia|boa-noite|boa-tarde casa com uma das
três expressões.
 [gpr]ato tem o mesmo efeito de gato|pato|rato

 Grupo – (...) – Amplia o poder de outros meta-


caracteres
 boa-(tarde|noite) casa com boa-tarde ou boa-noite.
 (www\.)?site\.com casa com www.site.com ou com
site.com
 ((su|hi)per)?mercado casa com mercado,
supermercado e hipermercado.
Expressões Regulares
Outros Metacaracteres
 Retrovisor: \1...\9
 Casa com trechos que já foram casados com grupos
anteriores.
 (quero)-\1 casa com quero-quero
 \b([A-Za-z]+) \1\b casa com qualquer palavra repetida.
 Pra não se perder nas contagens, conte somente os
parênteses que abrem, da esquerda para a direita. Este
vai ser o número do retrovisor.
 ((band)eira)nte \1 \2a casa com bandeirante bandeira
banda
Expressões Regulares
Metacaracteres tipo barra-letra
 São átomos representados por uma
barra invertida seguida de qualquer
letra. Dependendo da letra, muda-se o
significiado desse metacaracter.
 Eles são como apelidos da
representação POSIX e levam em conta
os acentos.
Expressões Regulares
Metacaracteres tipo barra-letra
Barra-letra POSIX Significado
\d [[:digit:]] Um dígito
\D [^[:digit:]] Não-dígito
\w [[:alnum:]_] Palavra
\W [^[:alnum:]_] Não-palavra
\s [[:space:]] Branco
\S [^[:space:]] Não-branco

Exemplo:

\d{5}-\d{3} casa com um CEP (exemplo: 20222-357)


Os Seis Mandamentos do
Criador de ERs
1) Não complique. Ao construir uma ER,
lembre-se de que um dia alguém,
provavelmente VOCÊ, terá que dar
manutenção à ela. Evite construções
complicadas.

Exemplo:
(mini|(su|hi)per)?mercado
ou
(mini|super|hiper)?mercado
Os Seis Mandamentos do
Criador de ERs
2) Use o circunflexo. Ele força o casamento no
começo da linha, se o primeiro componente da ER
depois do circunflexo não casar com o primeiro
caractere da linha, dali mesmo já retorna, sem
precisar varrer o resto da linha.
3) Evite a lista negada. A tabela ASCII tem 255
caracteres. Dizer algo como [^:] significa negar
um caracter e permitir outros 254, o que, às
vezes, é um exagero.
Os Seis Mandamentos do
Criador de ERs
4) Evite o curinga. Ele é guloso, como já
vimos. O ideal é substituí-lo por listas
menos abrangentes.
5) Seja específico. Agora a regra de ouro que
acaba resumindo as outras: seja
específico. De novo: seja específico.
SEJA ESPECÍFICO.
Em outras palavras: se está com fome,
não diga “Quero pizza”. Diga “Quero uma
pizza de calabresa, sem cebola, média,
cortada em oito pedaços, com borda de
catupiry”.
Os Seis Mandamentos do
Criador de ERs
6) Não seja afobado. Dê um passo após o
outro.

 Comece com pontos e teste sua ER.


 Vá trocando os pontos por expressões
mais específicas.
 A cada modificação, teste sua ER.
 ..:..
 [0-9]{2}:[0-9]{2}
 [012][0-9]:[0-5][0-9]
 ([01][0-9]|2[0-3]):[0-5][0-9]

Você também pode gostar