Compare Preços no Buscape e no BondFaro
BuscaPé, líder em comparação de preços na América Latina

HP AMD Turion 64 X2 1.9 GHz
2 Gb RAM - 160 Gb HD

Alguma Poesia
Carlos Drummond

MP6 Emulator
Dynacom 2 Gb

Os Simpsons
Oitava Temporada

CD Theater of Salvation
Edguy

Pelúcia Snoopy

Patinho Faminto
www.patinho.net

Apostilas
Expr Regular
Remasterização
SED
Shell Script

Distros
Dizinha
Patinho Faminto

Nerd
Desejo Nerd
Shell Scripts

Artístico
Livro
Musica
Poesias
Tirinhas

Bobagens
Ascii Art
Games Antigos
Porque Amar Nerds
Porque Não Amar Nerds

Eu
About Me
Recomendo
Contato
DOAÇÕES

Amigos
Aurélio
Jogos Antigos
NeoDizinha
Nerds Nervosos
ProibidoParaNormais


* = Recentemente Atualizado



website stats
Locations of visitors to this page

Anúncio provido pelo BuscaPé
BuscaPé, líder em comparação de preços na América Latina

Ver Indice Geral da Apostila de Expressões Regulares

Metacaracteres Quantificadores

Como o próprio nome diz, os Metacaracteres Quantificadores indicam a quantidade de vezes que um certo caractere por aparecer

Metacaracteres Quantificadores
?Pode aparecer uma vez ou não
*Pode aparecer em qualquer quantidade ou não aparecer
+Deve aparecer pelo menos uma vez
{x,y}Deve aparecer de X a Y vezes

 
 

Algumas dessas descrições não são muito boas para quem ainda não sabe Expressão Regular, então vamos ver melhor o que cada uma faz.

O Metacaractere ? ( interrogação )

O "?" é utilizado quando um caractere pode aparecer uma vez ou não aparecer.
Lembra daquela nossa lista de nomes?
Imagine que você queira listar os nomes "mari" e "maria".
Então:

Digite no Terminal

grep -wE maria? ER
Mostrará na tela
mari
maria

O "?" indica ao grep que a letra "A" depois de "mari" é opcional, ou seja, se ele encontrar alguma palavra sem o "A" ele deve aceitar, se encontrar uma palavra com o "A" também deve aceitá-la.

 
 

Posso misturar o "?" com as "[]"?
Claro, é para isso que serve as Expressões Regulares, para criar um padrão lógico para combinar algo.
Imagine se você quer listar os nomes "mari", "maria" e "mario".
Então:

Digite no Terminal

grep -wE mari[ao]? ER
Mostrará na tela
mari
maria
mario

O "[ao]" indica ao grep que a última letra pode ser "a" ou "o", em seguida o "?" avisa que também deve ser aceito se não encontrar com nenhuma dessas letras no final

 
 

Você pode usar mais de uma "?" se quiser. Veja só:

Digite no Terminal

grep -wE marc?i[ao]? ER
Mostrará na tela
mari
maria
mario
marcia
marcio

 
 

O Metacaractere *

O * indica que o caractere pode aparecer até infinitas vezes ou não aparecer.
Em nossa lista existe um nome escrito errado é o nome "mariaaaana".

Digite no Terminal

grep -wE maria*na ER
Mostrará na tela
marina
mariana
mariaaaana

O Grep selecionou:
marina - porque não tem "a" entre "i" e "n"
mariana - porque possui um "a" entre "i" e "n"
mariaaaana - porque possui 4 "a" entre "i" e "n"

 
 

O Metacaractere +

O + é parecido com o *, mas o caractere deve aparecer pelo menos uma vez
Veja só a diferença

Digite no Terminal

grep -wE maria+na ER
Mostrará na tela
mariana
mariaaaana

Dessa vez o nome "marina" não apareceu. Isso aconteceu porque "+" indica que a letra "a" deve aparecer ao menos uma vez, e a letra "a" não aparece entre "i" e "n" em "marina"

 
 

O Metacaractere {x,y}

O mais específico dos Metacaracteres Quantificadores, indica o número mínimo e o número máximo de vezes que um caractere deve aparecer
{1,4} - Indica que pode aparecer de 1 a 4 vezes.
{0,7} - Indica que pode aparecer de 0 a 7 vezes.
{4} - Indica que deve aparecer exatamente 4 vezes.
{2,} - Indica que pode aparece de 2 a infinitas vezes

Vejamos um exemplo:

Digite no Terminal

grep -wE "maria{1,3}na" ER
Mostrará na tela
mariana

Ele retorna apenas mariana.
Não retorna "marina" porque "a" deve aparecer pelo menos uma vez
Não retorna "mariaaaana" porque "a" deve aparecer no máximo 3 vezes, e em "mariaaaana" aparece 4 vezes

 
 

Nota: 10

Votar:
Postado em: 2008-05-13

Ver Indice Geral da Apostila de Expressões Regulares

Doações
Se quer nos ajudar, pode doar pelo PagSeguro

Ou pode doar pelo Paypal clicando no botão DONATE

Compare Produtos, Lojas e Preços


As poesias devem virar um livro impresso?
Claro
Só se tiver menos de 60 páginas
Só se tiver entre 60 e 120 páginas
Só se tiver mais que 120 páginas
Só vou comprar se for barato
Só vou comprar para você ficar feliz
Livro? Que Livro? Que poesia?
Resultado