
Quantificadores permitem que uma expressão regular combine dentro de um número especificado ou de um intervalo de números, com um caractere, uma classe de caracteres ou um subpadrão.
Os quantificadores estão dentro de chaves ({
e }
), e possuem como forma geral: {[mínimo-ocorrências][, [máximo-ocorrências]]}
O uso é melhor explicado através do exemplo:
{1}
Exatamente 1 ocorrência
{0,1}
Zero ou 1 ocorrência
{,1}
O mesmo, mas com menos trabalho ;)
{5,10}
No mínimo 5 e no máximo 10 ocorrências.
{5,}
No mínimo 5 ocorrências, sem máximo.
Adicionalmente, existe algumas abreviações:
*
(asterisco)igual a
{0,}
, procura por quaisquer número de ocorrências.+
(sinal de mais)similar a
{1,}
, no mínimo 1 ocorrência.?
(ponto de interrogação)similar a
{0,1}
, zero ou 1 ocorrência.
Ao usar os quantificadores sem máximo, as expressões regulares padronizam a combinação para o mais próximo da string procurada possível, comumente conhecido como comportamento guloso.
O software moderno de expressões regulares fornece o chamado “desligamento” do modo 'guloso', embora em um ambiente gráfico a interface fornece a você o acesso a isto. Por exemplo, um diálogo de busca, fornecendo a busca para uma expressão regular, poderia ter uma caixa chamada “Combinação Mínima”, bem como indicar se o 'modo guloso' é o comportamento padrão.
Aqui estão alguns exemplos do uso de quantificadores
^\d{4,5}\s
Combina com os dígitos em “1234 ir” e “12345 agora,” mas não combina com “567 sete” nem com “223459 algum local”
\s+
Combina uma ou mais vezes com caracteres de espaço em branco
(bla){1,}
Combina com todos os “blablabla”, e com “bla” em “blackbird” ou “tabla”
/?>
Combina com “/>” em “<fecharitem/>” bem como com “>” em “<abriritem>”.