Expressões regulares na linguagem de programação JAVA
Expressões regulares para validar telefones, CEP e placas de veículos em Java.
Expressão regular em JAVA
As expressões regulares são formas concisas e flexíveis de identificar cadeias de caracteres de interesse, como caracteres particulares, palavras ou padrões de caracteres.
Esse post irá mostrar como validar algumas questões importante com , telefone, CEP e placas de veículos.
Código Java:
public class ExpresoesRegularesJava{ public static void main(String[] args){ Scanner ler = new Scanner(System.in); System.out.println("Infrome o seu telefone."); System.out.println("Dica, colocar o DDD entre parênteses"); String telefone = ler.nextline(); if(telefone.matches("\(\d{2}\)\d{4,5}-\d{4}")){ System.out.println("O telefone" + telefone + "está correto"); } else { System.out.println("O telefone" + telefone + "está incorreto"); } } }
O que cada linha de código faz?
Cria-se um objeto do tipo Scanner na seguinte linha de código:
Scanner ler = new Scanner(System.in);
Na linha seguinte serve para mostrar uma mensagem para o usuário informar o numero de seu telefone, com algumas instruções para ele, depois disso o resultado é guardado em uma variável do tipo String:
System.out.println("Infrome o seu telefone."); System.out.println("Dica, colocar o DDD entre parênteses"); String telefone = ler.nextline();
Na linha do if compara com a função matches a expressão regular com a String, se está correto o que o usuário informou vai retornar a mensagem para o usuário “O telefone “tal” está correto” se não está correto irá retornar “O telefone “tal” está incorreto”.
Lembrando que para validar o telefone deve ser informado dessa forma (99)9999-9999 ou desta forma nos casos de estados que contem o digito 9 na frente (99)99999-9999.
if(telefone.matches("\(\d{2}\)\d{4,5}-\d{4}")){ System.out.println("O telefone" + telefone + "está correto"); } else { System.out.println("O telefone" + telefone + "está incorreto"); } }
A função matches verifica expressões regulares no Java, basta colocar a expressão regular entre aspas duplas na função, que ele ira retornar true ou false.
Fazer a validação de CEP:
public class ExpressoesRegularesCEP { public static void main(String[] args) { Scanner ler = new Scanner(System.in); System.out.println("Informa o seu CEP."); String cep = ler.nextLine(); if(cep.matches("\d{5}-\d{3}")){ System.out.println("O CEP " + cep + " está correto!"); }else{ System.out.println("O CEP " + cep +" não está correto!"); } } }
Fazer validação de placas de automóveis:
public class ExpressoesRegularesPlacas { public static void main(String[] args) { Scanner ler = new Scanner(System.in); System.out.println("Informe a placa do seu veiculo."); String placa = ler.nextLine(); if(placa.matches("([a-z]{3}|[A-Z]{3})-\d{4}"){ System.out.println("A placa " + placa + " está correta!"); }else{ System.out.println("A placa " + placa +" não está correto!"); } } }
No código acima o usuário poderá digitar letras minúsculas tanto como letras maiúsculas, existe um conjunto de instruções com o | (pipe o famoso OU), que determina que pode ser na maiúsculas de “A-Z” ou minusculas de “a-z”.
Veja como ficou: “([a-z] | [A-Z]){3}-\d{4}”
Esses são alguns exemplos que podem ser usados expressões regulares em Java.
Obrigado…