fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.util.regex.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. String casoUm = "<text><![CDATA[Casa]]></text><text>\n<![CDATA[Qualquer texto que tenha Casa no meio]]></text>"
  13. + "\n<text>Texto com Casa mas não dentro de CDATA</text>"
  14. + "\n<text><![CDATA[Casamento]]></text>";
  15. String regex = "(?<=CDATA\\[)(.*?)(?=\\])";
  16.  
  17. Matcher matcher = Pattern.compile(regex).matcher(casoUm);
  18. if (matcher.find()) {
  19. System.out.println(casoUm.replaceAll("Casa", "Edifício"));
  20. }
  21. }
  22. }
Success #stdin #stdout 0.08s 33728KB
stdin
Standard input is empty
stdout
<text><![CDATA[Edifício]]></text><text>
<![CDATA[Qualquer texto que tenha Edifício no meio]]></text>
<text>Texto com Edifício mas não dentro de CDATA</text>
<text><![CDATA[Edifíciomento]]></text>