não sei usar expressões regulares direito ,então vou sugerir outros metodos
primeiro ,você pode usar o StringTokenizer para separar nome.do.pacote.tools.NomeDaClasse em tokens ,indicando que o separador é o “.”
com isso ,você pega o ultimo token , que vai ser o “NomeDaClasse”
pronto ,agora sabendo que a classe Character tem o metodo isLowerCase que te retorna um booleando indicando se o caracter é minusculo ou não ,vc pode interar a string ,e pegar as posições dos caracteres maiusculos
bom ,foi uma solução ,não sei se foi a mais elegante