Se eu usar o seu exemplo não vai funcionar, pois teria que substituir uma TAG por vez, ou seja:
[ B] ->
[ /B] ->
E assim poderia acontecer algo do tipo:
Ficaria assim:
E deveria ficar assim:
Isso não pode acontecer…
bueno
Guilherme,
acho que é isso que vc esta querendo
Stringregex="\\[B\\](.*)\\[/B\\]";Stringx="Uma [B]frase qualquer, [B]cheia [U]de[/U] palavras[/B] para podermos[/B] tratar.";while(x.matches(".*"+regex+".*")){x=x.replaceAll(regex,"<b>$1</b>");}System.out.println("x:"+x);
a outra expressão regular que vc usou tem o grupo ([^\[]), com ela vc não que os itens que estão dentro da lista por isso troquei por (.) assim vc vai subistituir qualquer coisa
Guilherme_Gomes
bueno:
Guilherme,
acho que é isso que vc esta querendo
Stringregex="\\[B\\](.*)\\[/B\\]";Stringx="Uma [B]frase qualquer, [B]cheia [U]de[/U] palavras[/B] para podermos[/B] tratar.";while(x.matches(".*"+regex+".*")){x=x.replaceAll(regex,"<b>$1</b>");}System.out.println("x:"+x);
a outra expressão regular que vc usou tem o grupo ([^\[]), com ela vc não que os itens que estão dentro da lista por isso troquei por (.) assim vc vai subistituir qualquer coisa
Boa, é quase isso, fiz uma pequena alteração.
Se fizer do seu jeito, não vai funcionar com essa frase: