Regex - ajuda com filtro

Pessoal, tenho a seguinte String:

"

André 1987-06-10 38% de aprovação "

A partir desta, preciso criar um objeto do tipo Aluno… porém, me matei para pegar… e ficou um código horrível… alguem poderia me dar um exemplo, mas usando regex, de como recuperar os dados em NEGRITO ?

Obrigado!!!

Basta usar grupos:

[code]import java.util.regex.*;

public class Find{
public static void main(String []x){
String linha = “

André 1987-06-10 38% de aprovação ”;
String padrao = “<a[^>]+>([^<]+)([^<]+)([^<]+)”;
Matcher m = Pattern.compile(padrao).matcher(linha);
           if(m.find()){
                   System.out.println("Nome : " + m.group(1));
                   System.out.println("Data : " + m.group(2));
                   System.out.println("Aprov: " + m.group(3));
           }
    }

}[/code]

$ java Find
Nome : André
Data : 1987-06-10
Aprov: 38% de aprovação

A “mágica” está aqui:

([^<]+)<

isto significa

 caracter literal "maior que"

( inicio de grupo
[^<] um caracter que não seja o “menor que”

  •  quantificador "um ou mais"
    

) fim de grupo
< caracter literal “menor que”

Ou seja, eu quero procurar isso

Qualquer Coisa entre maior e menor<

E eu tenho um grupo para aqueles caracteres que me interessam. Um grupo pode ser acessado pelo método group da classe Matcher através da sua ‘posição’. Basicamente um grupo é algo que diz “ei, esta ER aqui dentro é especial, se liga nela”.

muitíssimo obrigado! perfeito . parabens

Amigo, ainda não estou conseguindo pegar o código… aquele que está d(CODIGO) … pois nao segue a mesma idéia do seu jeito!! tem alguma solucao? :frowning:

abçs