Estou me aprofundando no Regex - realmente muito útil. Li vários tutoriais, mas ainda estou meio perdido. Gostaria de propor um problema para aprender com a solução.
Supõe a página em HTML das comunidades do orkut:
[size=9][i]…
Da para generelizar muito, mas assim ja deve funcionar…
Espero que ajude…
B
brapster
publicstaticString[]pegaPadrao(Stringpatterm,Stringpage){Vector<String>lista=newVector();Patternpattern=Pattern.compile(patterm);Matchermatcher=pattern.matcher(page);while(matcher.find()){Stringitem=matcher.group(1);if(!lista.contains((Object)item))lista.add(item);}// organiza e converte para arrayCollections.sort(lista);Stringresultado[]=newString[lista.size()];for(intx=0;x<lista.size();x++)resultado[x]=lista.get(x);returnresultado;}publicstaticvoidmain(String[]args){Stringpage=getPage("http://www.orkut.com/Communities.aspx");Stringpatterm="<a href=\"/Community\\.aspx\\?cmm=[0-9]*\"[ >]*([\\w ]*)</a>";Stringresultado[]=pegaPadrao(patterm,page);for(intx=0;x<resultado.length;x++)System.out.println(resultado[x]);}
G
gr_marco
:thumbup:
B
brapster
Na verdade, estou conferindo agora e o programa não me retornou as comunidades com acento, “-”, “!” e “/”.
Algo errado com o padrão? :oops:
G
gr_marco
Onde tem o \w adicione o que você quer que contenha no texto… pode colocar um . que ele traz todos os caracteres e fazer uma negação para não trazer o fechamento da tag.
ai vc tem que ir testando com o conteúdo.
Da uma olhada neste site, pode ajudar: http://www.regular-expressions.info
ou então na API da classe Pattern do site do java. Lá vc encontra alguma coisa ou outra pra trabalhar co RegExp.