Originariamente inviato da softoxy
Si è vero su matcher.matches(), ma a me interessa poco, piuttosto devo estrapolare la stringa che fa match dalla stringa completa, matcher.group(i), per capirci non funziona........
Spero di aver capito bene il tuo problema ... le espressioni regolari in Java le ho già usate ma non moltissimo.

Ho fatto questa semplice prova:
codice:
String patternStr = "c..o";
String inputStr = "ciao  ciccia  caio";

Pattern pattern = Pattern.compile (patternStr);
Matcher matcher = pattern.matcher (inputStr);

while (matcher.find ())
{
    System.out.println ("Trovata occorrenza: " +
                        "start=" + matcher.start () + "   " +
                        "end=" + matcher.end () + "   " +
                        "group=" + matcher.group ());
}
Mi stampa (correttamente):
codice:
Trovata occorrenza: start=0   end=4   group=ciao
Trovata occorrenza: start=14   end=18   group=caio