Contar "caracteres" em uma regular expression

Pessoal, pesquisei aqui e não encontrei nada parecido.

Eu preciso contar os caracteres e, principalmente, fazer o indexOf funcionar em uma String que utilizo para fazer testes de expressões regulares. Não sei explicar muito bem, então usarei um exemplo.

Eu tenho um String com “Diego”, e eu troco por “D[ií][eéêë]g[oóôö]”. Após isso, em outro ponto do código, eu precisaria verificar a posição de caracteres específicos (alguns outros curingas que criei, para ações específicas do meu programa), mas eu não consigo mais achar a posição. Eu precisaria de algum método ou classe que fizesse com que eu considerasse cada trecho entre colchetes como sendo um caractere apenas. Alguém sabe de algo? Ou consegue dar uma luz para eu desenvolver um método eu mesmo?

Valeu mesmo.

Eu criei um método que meio que consegue fazer isso, mas não é prático e nem bonito. Estou aberto a sugestões.

private static int indexOfAlgarismo(String palavra, String algarismo){
        String[] caracteresIntercambiaveis = new String[]{"[aáãâàä]", "[eéêë]", "[ií]", "[oóõôö]", "[uúü]", "[cç]", ".*"};

        for (String s : caracteresIntercambiaveis) {
            palavra = palavra.replace(s, ".");
        }

        return palavra.indexOf(algarismo);
    }