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 ?
importjava.util.regex.*;publicclassFind{publicstaticvoidmain(String[]x){Stringlinha="<tr><td><a href=javascript:d(13)>André</a></td><td>1987-06-10</td><td>38% de aprovação</td></tr>";Stringpadrao="<a[^>]+>([^<]+)</a></td><td>([^<]+)</td><td>([^<]+)";Matcherm=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));}}}
$ 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".
MrDataFlex
muitíssimo obrigado! perfeito . parabens
MrDataFlex
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?