terça-feira, 12 de dezembro de 2017

REGEX – Java

       Expressões regulares nos ajudam a identificar textos por padrões. Isso é muito usado para fazer validações e trabalhar com leitura/escrita de arquivos, entre outras coisas.

Modificadores:

·       (?i) – Ignora letras maiúsculas e minúsculas;
·       (?x) – Comentários;
·       (?m) – Múltiplas linhas;
·       (?s) – Dotall;
  
     Pattern.MULTILINE ou (?m) diz ao Java para aceitar as âncoras ^ e $ coincidirem no início e no final de cada linha (caso contrário, elas apenas coincidem no início / fim de toda a cadeia de caracteres).


    Pattern.DOTALL ou (?s) informa ao Java para permitir que o ponto corresponda também aos caracteres de nova linha.

Uso dos modificadores:

“Java”.matches(“(?i)java”) – true.
“Java”.matches(“(?ims)java”) – true.

Metacaracteres

·       . (ponto) – Qualquer caractere;
·       \d – Dígitos [0-9];
·       \D – Não é dígito;
·       \s – Espaços;
·       \S – Não é espaço;
·       \w – Letras e números [a-z,A-Z,0-9];

Uso dos metacaracteres:

“J”.matches(“(?i)\\d”) – false.
“#”.matches(“.”) – true.
“J”.matches(“\\w”) – true.

Obs: note o uso do caractere de escape “\” quando necessário.

Quantificadores

·       * (asterisco) – Qualquer quantidade;
·       ? – 0 ou 1 vez;
·       + – 1 ou mais vezes;
·       {n} – Exatamente n vezes;
·       {n,} – Pelo menos n vezes;
·       {n,m} – Entre n e m vezes;

Uso dos quantificadores:

“60.282-010”.matches(“\\d{2}\.\\d{3}-\\d{3}”) – true.
“@#%”.matches(“.{2,3}”) – true.
“Java123”.matches(“\\w*”) – true.

Metacaracteres de Fronteira

·       ^ – Inicia com;
·       $ – Finaliza com;
·       | – Ou;

Uso dos metacaracteres de fronteira:

“Java123”.matches(“^Java.*”) – true.
“Java123”.matches(“.*123$”) – true.

Agrupadores

·       [...] – Agrupamento;
·       [a-z] – Alcance;
·       [a-e][i-u] – União;
·       [a-z&&[aeiou]] – Interseção;
·       [^abc] – Exceção;
·       [a-z&&[^m-p]] – Subtração;
·       \x

Uso dos agrupadores:

"Java123”.matches(“(?i)[a-z]*”) – true.

Nenhum comentário:

Postar um comentário