rafael, o codigo q vc passou:
System.out.println("[link http://www.guj.com.br]".replaceAll("\\[link http:\\/\\/([\\w|\\.]+)+\\]","<a href=\"$1\">"));
retornou:
<a href="http://www.guj.com.br">
e o problema aqui:
System.out.println("[link http://www.guj.com.br?a=b]".replaceAll("\\[link http:\\/\\/([\\w|\\.]+)+\\]","<a href=\"$1\">"));
retornou:
[code][link
http://www.guj.com.br?a=b][code]
pois o \w soh pega de a a z, A a Z e 0 a 9.
nao funciona.
esse codigo elimina a possibilidade do href ser um mailto ou ftp, por exemplo, nao posso deixar o http entao tenho q tirar possiblitar tambem o /!!!
sem contar q devo liberar para todos os caracteres padrao de uma request get, o q nao pode me fechar soh aos a a Z, A a Z e 0 a 9. e nao to nem um poco afim de descobrir quais sao todos e por na expressao. entao o certo eh aceitar todos exceto os q nao devem ser aceitados (aspas duplas, open tag, fecha tag e os mesmos tres em seus codigos &)
isso que preciso, seria mais o menos o seu codigo mas em vez de \w|. algo do tipo:
^[&0025;|"|>|<|&0026;|&0027;]
dicas?