Como pegar o valor de uma expressão regular

Estou com um problema, faço um match em duas expressões mas só consigo retornar se é verdadeiro ou falso

testee = "colspan="3" class="tam10neg" style="padding-top: 3px; padding-left: 2px; border-right: 1px solid black; border-left: 1px solid black">MANOEL AGNALDO DE B BRITO ";


boolean teste = testee.matches(".*?colspan=\"3\" class=\"tam10neg\" style=\"padding-top: 3px; padding-left: 2px; border-right: 1px solid black; border-left: 1px solid black\">(.*?).*?");

Como faço para ao invés de retornar se é verdadeiro ou falso, para ele me retornar o valor que está no lugar de (.*?)

Nada de errado, o match do regex retorna true ou false, o que você preciso é pegar o match, para isso você pode utilizar:

private static final Pattern p = Pattern.compile("Felipe");

    public static void main(String[] args) {
        // Cria o Matcher, para o Pattern
        Matcher m = p.matcher("Texto [ Felipe ] qualquer");

    // Se encontrar
    if (m.find()) {
        System.out.println(m.group(0)); // returna tudo que fez Match
    }
}
1 curtida