Simples exemplo:
Pattern p = Pattern.compile(regEx);
return p.matcher(textoDeTeste).matches();
Outros métodos:
p.matcher("$a$").find(); // O padrão pode ser achado na string
p.matcher("ab$").lookingAt(); // A String começa com o padrão
Padrões para senha:
4 caracteres contendo letras ou números apenas:
^[^\W_]{4}$
Mínimo 5 e máximo 15 caracteres, pelo menos 1 letra e 1 número:
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{5,15}$
Ela deverá conter no mínimo 8 caracteres, dos quais deve possuir no mínimo 1 letra, 1 número e 1 caractere especial.
(?=.*[}{,.^?~=+\-_\/*\-+.\|])(?=.*[a-zA-Z])(?=.*[0-9]).{8,}
(?=.*...) - É um positive lookahead que irá garantir que o grupo de caracteres a seguir DEVE estar na string para que ela seja validada.
[}{,.^?~=+\-_\/*\-+.\|] - É o set que define quais caracteres podem ser capturados pelo positive lookahead.
(?=.*...) - É um positive lookahead que irá garantir que o grupo de caracteres a seguir DEVE estar na string para que ela seja validada.
[a-zA-Z] - É o set que caracteriza qualquer caractere de letra sendo maiúscula ou minúscula.
(?=.*...) - É um positive lookahead que irá garantir que o grupo de caracteres a seguir DEVE estar na string para que ela seja validada.
[0-9] - É o set que caracteriza qualquer número entre 0 e 9.
.{8,} - Após essas validações, será capturado uma sequencia de qualquer caractere que não contenha quebra de linhas(sinalizado pelo .).
E que seja de comprimento mínimo de 8 caracteres (sinalizado pelo {8,}), sem limite máximo (caso queira definir um limite você pode colocar o número máximo de caractere após a ,).
Referência:
https://pt.stackoverflow.com/questions/25605/express%C3%A3o-regular-que-aceite-somente-n%C3%BAmeros-e-ou-letras-em-java
https://pt.stackoverflow.com/questions/347152/regex-caracteres-especiais-obrigat%C3%B3rio
Nenhum comentário:
Postar um comentário