/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.util.regex.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
        String casoUm = "<text><![CDATA[Casa]]></text><text>\n<![CDATA[Qualquer texto que tenha Casa no meio]]></text>"
                + "\n<text>Texto com Casa mas não dentro de CDATA</text>"
                + "\n<text><![CDATA[Casamento]]></text>";
        String regex = "(?<=CDATA\\[)(.*?)(?=\\])";

        Matcher matcher = Pattern.compile(regex).matcher(casoUm);
        if (matcher.find()) {
            System.out.println(casoUm.replaceAll("Casa", "Edifício"));
        }
    }
}