Last active
January 13, 2018 02:14
-
-
Save eiAlex/c7a044c69690786c9b31c6e867426cd8 to your computer and use it in GitHub Desktop.
ExpressãoRegular
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.regex.Matcher; | |
import java.util.regex.Pattern; | |
public class ExpressaoRegular { | |
public static void main(String[] args) { | |
boolean b = "JAVA".matches("JAVA"); //expressões regulares são sencivels a maiusculas e minusculas | |
System.out.println(b); | |
/* MODIFICADORES | |
(?i), Ignora maiuscula e minuscula | |
(?x), Comentarios | |
(?m), Multilinhas | |
(?s), Dottal | |
*/ | |
boolean c = "jAVA".matches("(?im)JAVA"); //expressões regulares são sencivels a maiusculas e minusculas | |
System.out.println(c); | |
/* Metacaracteres | |
.qualquer cactere | |
\d dígitos | |
\D não é digito | |
\s espaços | |
\S não é espaços | |
\w letra | |
\W não é letra | |
*/ | |
boolean d = "@".matches("."); //expressões regulares são sencivels a maiusculas e minusculas | |
System.out.println(d); | |
boolean e = "2".matches("\\d"); //expressões regulares são sencivels a maiusculas e minusculas | |
System.out.println(e); | |
boolean f = "w".matches("\\w"); //expressões regulares são sencivels a maiusculas e minusculas | |
System.out.println(f); | |
/* QUANTIFICADORES | |
x{n} X,exatamente n vezes | |
x {n,} X,pelo menos n vezes | |
x{n,m} X, pelo menos n mas não mais do que m vezes | |
x? { n, m} X, pelo menos n mas não mais que m vezes | |
X* X, o ou 1 vez | |
X+ x, 1 ou + vezes*/ | |
boolean g = "21".matches("\\d{2}"); //expressões regulares são sencivels a maiusculas e minusculas | |
System.out.println(g); | |
boolean h = "212".matches("\\d{2,}"); //expressões regulares são sencivels a maiusculas e minusculas | |
System.out.println(h); | |
//espressão regular para validar cep | |
boolean cep = "35700-000".matches("\\d{5}-\\d{3}"); | |
System.out.println(cep); | |
//espressão regular para validar data | |
boolean data = "01/01/2010".matches("\\d{2}/\\d{2}/\\d{4}"); | |
System.out.println(data); | |
/* Metacaractere de fronteira | |
^ inicia | |
$ finaliza | |
| ou*/ | |
boolean i = "Alex10".matches("^Alex.*"); | |
System.out.println(i); | |
boolean j = "Tem java aqui".matches(".*java.*"); | |
System.out.println(j); | |
boolean h1 = "Tem java aqui".matches("^Tem.* aqui$"); | |
System.out.println(h1); | |
/* AGRUPADORES | |
[...] agrupamentos | |
[a-z] alcance | |
[a-e][i-u] união | |
[a-z&&[aeiou]] interseção | |
[^abc] exceção | |
[a-z&&[^m-p]] subtração | |
\x fuga literal | |
*/ | |
boolean l = "x".matches("[a-z]"); | |
System.out.println(l); | |
boolean m = "1".matches("[0-9]"); | |
System.out.println(m); | |
//para verificações mais profunda de expreções e quando for necessarios uma maior performance recomenda-se a utilização do | |
//pattern pois ele carrega a straing | |
String doce = "Qual é o Doce mais DoCe que o doce de Batata DOce"; | |
Matcher matcher = Pattern.compile("(?i)doce").matcher(doce); | |
while (matcher.find()) { | |
System.out.println(matcher.group()); | |
} | |
/*SUBSTITUIÇÕES*/ | |
String x = doce.replaceAll("(?i)doce", "docinho"); | |
System.out.println(x); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment