Dúvida em regex - tutorial do guj

5 respostas
M

Olá,

estava vendo o tutorial do guj sobre regex http://www.guj.com.br/java.tutorial.artigo.1.1.guj, e resolvi fazer algo diferente.

No exemplo, sugere o seguinte:

1 String comHtml = "retirando <a href=zzz>código html</a>"; 2 Pattern p = Pattern.compile("<.*?>"); 3 Matcher m = p.matcher(comHtml); 4 String semHtml = m.replaceAll("");

Eu tentei fazer o seguinte:

String comHtml = "retirando <a href=zzz>código<> html</a> bla"; Pattern p = Pattern.compile("<(.+?)"); Matcher m = p.matcher(comHtml); String semHtml = m.replaceAll(""); System.out.println(semHtml);
Fiz mais algumas alteraçoes no codigo… como nao funcionaram eu retirei :slight_smile:

Bom, o q eu qria era imprimir a frase normalmente, sem as tags html mas com o <> após a palavra código. O plano eh fazer isso utilizando regex… mas nao consegui resolver.

Alguem tem uma ideia de como resolver?

flw.

5 Respostas

Lucas_Cavalcanti

então…

o código:

String semHtml = comHtml.replaceAll("<(.+?)>", "")

deveria funcionar…

M

Então, mas continua não funcionando.

a saida é:

retirando código bla

enqto q o desafio é imprimir o <> depois da palavra código.
Em resumo, o q tentei fazer foi remover td o q estiver entre “<” e “>” mas que não esteja vazio.

Vamo lá galera, deve haver uma forma pra isso :slight_smile:

flw.

peerless

E se colocar dentro da lista [ ] ?

Guia de Expressões Regulares

M

Tb já pensei em usar as listas… mas não xeguei em nenhuma conclusão q funcionasse :roll:

flw.

leassis

Amigo a saida para sua expressao está certa
<.+?>

isso casaria tudo que está entre “<” “>”

pois bem está casando

<> html

pois “> html</a” está entre “<” “>”

<(.+?)> sua expressão não está errada, mas use os parentheses só qdo quiser montar grupos mesmo, nesse caso eu acho que é desnecessário a não ser que vc queira usar o conteudo para outra coisa

Uma solução meio porca mais que materia seu problema é: <[a-zA-Z -="/]+?>

Criado 28 de julho de 2007
Ultima resposta 31 de jul. de 2007
Respostas 5
Participantes 4