Você está aqui: Inicio -> Dicas e Truques -> Java -> Aprendendo a usar os quantificadores (quantifiers)
Aprendendo a usar os quantificadores (quantifiers)
Esta dica foi visualizada 925 vezes
Não encontrou o que estava procurando? Experimente nossa busca
Termo(s) da busca:

Categoria: Dicas & Truques
Sub-Categoria: Expressões Regulares [Veja dicas relacionadas]


Aprendendo a usar os quantificadores (quantifiers)

Quantificadores permitem que especifiquemos o número de ocorrências de um determinado padrão. Veja a relação de padrões abaixo:
? - Apenas uma ou nenhuma vez
a? encontraria a, ou a ausência de a. Ele se aplica 
ou ao caractere que imediatamente o precede, ou a um
grupo (se o grupo imediatamente o precede) ou a uma
classe de caracteres (se a classe de caracteres o 
precede).

* - Zero ou mais vezes
Este padrão se parece muito com o padrão ?, exceto 
que ele encontra zero ou mais ocorrências. Ele não 
encontra "qualquer caractere", como seu uso em DOS 
poderia sugerir. Assim, a* encontraria a, aa, aaa, 
ou a ausência de a. Ele se aplica ou ao caractere que 
imediatamente o precede, ou a um grupo (se o grupo 
imediatamente o precede) ou a uma classe de caracteres 
(se a classe de caracteres o precede).

+ - Uma ou mais vezes
Este padrão se parece com o padrão *, exceto que agora
buscamos a existência de uma ou mais ocorrências, em 
vez de zero ou mais ocorrências. Ele se aplica ou 
ao caractere que imediatamente o precede, ou a um 
grupo (se o grupo imediatamente o precede) ou a uma 
classe de caracteres (se a classe de caracteres o 
precede).

{n} - Exatamente n vezes
Este quantificador exige a ocorrência do padrão 
exatamente n vezes. Ele se aplica ou ao caractere 
que imediatamente o precede, ou a um grupo (se o grupo
imediatamente o precede) ou a uma classe de caracteres 
(se a classe de caracteres o precede).

{n,} - No mínimo n vezes
Este quantificador exige a ocorrência do padrão 
no mínimo n vezes. Ele se aplica ou ao caractere 
que imediatamente o precede, ou a um grupo (se o grupo
imediatamente o precede) ou a uma classe de caracteres 
(se a classe de caracteres o precede).

{n,m} - No mínimo n e não mais que m vezes
Este quantificador exige a ocorrência do padrão 
no mínimo n vezes e não mais que m vezes. Ele se aplica 
ou ao caractere que imediatamente o precede, ou a um 
grupo (se o grupo imediatamente o precede) ou a uma 
classe de caracteres (se a classe de caracteres o 
precede).
Para ilustar o uso de quantificadores, vamos imaginar que a regra de nomes de senhas da empresa seja de 5 letras minúsculas de a-z (sem acentos) seguidas por 3 dígitos de 0-9. Veja como esta expressão regular pode ser montada:
import java.io.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Console console = System.console(); 
    String valor = console.readLine("Informe um valor: "); 
    String padrao = "[a-z]{5}\\d{3}";
    
    if(valor.matches(padrao))
      System.out.println("Valor válido.");
    else
      System.out.println("Valor inválido.");
  } 
} 
Vamos ver uma expressão regular mais complexa? Suponhamos que a empresa queira um padrão de senhas que seja de 6 caracteres (três caracteres de a-z e três dígitos de 0-9) em qualquer ordem e talvez misturados. Veja o código:
import java.io.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Console console = System.console(); 
    String valor = console.readLine("Informe um valor: "); 
    String padrao = "([a-z]*\\d[a-z]*){3}";
    
    if((valor.matches(padrao)) && (valor.length() == 6))
      System.out.println("Valor válido.");
    else
      System.out.println("Valor inválido.");
  } 
} 
 
Veja mais Dicas & Truques na sub-categoria: Expressões Regulares
Veja mais Dicas & Truques de Java
Veja mais Dicas & Truques de outras linguagens
 
 
Visão Tributária - Curso de Nota Fiscal Eletrônica em Goiânia - GO
Referências
Tipos de dados da linguagem Java
Palavras-chave e palavras reservadas da linguagem Java
Tipos de dados da linguagem PHP
 
Dicas e truques de Java
Dicas e truques de C++
Dicas e truques de Delphi
http://www.arquivodecodigos.net
2000 - 2010 - Todos os direitos reservados a Osmar J. Silva
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.
Certifique-se de ler as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734
E-Mail: suporte@recomende.com
MSN: osmar@recomende.com (só para negócios, por favor)

Desenvolvedor Responsável: Osmar J. Silva