Created
December 10, 2019 12:19
-
-
Save danicunhac/10d0a7d0ebfff4786587d4f61f7e2e52 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Scanner; | |
import java.util.regex.Matcher; | |
import java.util.regex.Pattern; | |
public class expressoes_regulares { | |
public static void main(String[] args) { | |
Main main = new Main(); | |
main.run(); | |
} | |
public void run(){ | |
Scanner in = new Scanner(System.in); | |
String padrao, expressao; | |
while (true) { | |
System.out.println("Para validar número, digite 'n';\nPara validar url, digite 'u'; " | |
+ "\nPara validar email, digite 'e'; \nPara validar identificador, digite 'i'; \nPara sair, digite algo diferente:"); | |
padrao = in.nextLine(); | |
switch (padrao.toLowerCase()) { | |
case "n": | |
System.out.println("Digite a expressão a ser checada: "); | |
expressao = in.nextLine(); | |
if (ValidaNumero(expressao)) System.out.println("É um numero."); | |
else System.out.println("Não é numero."); | |
break; | |
case "u": | |
System.out.println("Digite a expressão a ser checada: "); | |
expressao = in.nextLine(); | |
if (ValidaURL(expressao)) System.out.println("É uma URL."); | |
else System.out.println("Não é URL."); | |
break; | |
case "e": | |
System.out.println("Digite a expressão a ser checada: "); | |
expressao = in.nextLine(); | |
if (ValidaEmail(expressao)) System.out.println("É um e-mail."); | |
else System.out.println("Não é e-mail."); | |
break; | |
case "i": | |
System.out.println("Digite a expressão a ser checada: "); | |
expressao = in.nextLine(); | |
if (ValidaIdentificador(expressao)) System.out.println("É um identificador."); | |
else System.out.println("Não é identificador."); | |
break; | |
default: | |
System.out.println("Operação inválida, por favor recomeçe."); | |
System.exit(0); | |
} | |
} | |
} | |
public boolean ValidaNumero(String string){ | |
Pattern numero = Pattern.compile("\\d{4,5}\\-\\d{4}"); | |
Matcher matcher = numero.matcher(string); | |
return matcher.matches(); | |
} | |
public boolean ValidaEmail(String string){ | |
Pattern email = Pattern.compile("[a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-]+\\.(com|org|br)"); | |
Matcher matcher = email.matcher(string); | |
return matcher.matches(); | |
} | |
public boolean ValidaURL(String string){ | |
Pattern url = Pattern.compile("w{3}\\.[a-zA-Z0-9]+\\.(com|org|br)"); | |
Matcher matcher = url.matcher(string); | |
return matcher.matches(); | |
} | |
public boolean ValidaIdentificador(String string){ | |
Pattern id = Pattern.compile("(_|[a-zA-Z])\\w*"); | |
Matcher matcher = id.matcher(string); | |
return matcher.matches(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment