Retornar substrings através de regex

Estou com um a dúvida aqui. Quero saber se posso recuperar de uma string, todos as substrings que se encaixem em um dado regex.
Por exemplo na string “assssd ddd afffd”, quero que ele me retorne tudo o que se encaixa em “a.*d”, no caso seria “assssd” e “afffd”.
É possível fazer isso?

Sim, é possível. Olhe um exemplo:

 public static void main(String[] args) {
        String frase = "assssd ddd afffd olá mundo ad";
        Pattern p = Pattern.compile("(a\w*d)");
        Matcher m = p.matcher(frase);
        while (m.find()) {
            System.out.println(m.group());
        }
    }

Perceba que está expressão regular considera “ad” como válido. Caso você não queira isso (ou seja, deve haver algo entre a primeira e a última letra), troque a expressão regular para “(a\w+d)”.

[quote=marcobiscaro2112]Sim, é possível. Olhe um exemplo:

 public static void main(String[] args) {
        String frase = "assssd ddd afffd olá mundo ad";
        Pattern p = Pattern.compile("(a\w*d)");
        Matcher m = p.matcher(frase);
        while (m.find()) {
            System.out.println(m.group());
        }
    }

Perceba que está expressão regular considera “ad” como válido. Caso você não queira isso (ou seja, deve haver algo entre a primeira e a última letra), troque a expressão regular para “(a\w+d)”.[/quote]

Valeu, cara. Obrigado pela dica da expressão também.