Expression régulière - Valider le nom d'utilisateur en java

Expression régulière d'un nom utilisateur :

 
^[a-z0-9_-]{4,15}$
Explication :
^ : Début
[a-z0-9_-] : les caractères autorisés
{4,15} : la longueur doit etre entre 4 et 15 caractères au maximum
Cette expression régulière vérifie si un nom utilisateur est constitué seulement de minuscule, de chiffre et de symbole '_'. C'est le filtre le plus utilisé dans plusieurs sites web.

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class regex_username{

private Pattern pattern;
private Matcher matcher;

private static final String USERNAME_PATTERN = "^[a-z0-9_-]{4,15}$";

public regex_username(){
pattern = Pattern.compile(USERNAME_PATTERN);
}

/**
* Valider le nom utilisateur avec une expression régulière
* @retourne true si le nom est valide, sinon false
*/
public boolean validate(final String username){

matcher = pattern.matcher(username);
return matcher.matches();

}
}
Exemples:
user_99 -> oui
User_99 -> non
aby -> non
superuser#99 -> non
snapper_84 -> oui
965dean ->oui