import java.util.regex.Pattern;

class Test {
    public static void main(String[] args) {
        String input = "a\nb\nc\n";
        Pattern pattern = Pattern.compile("$"); // Boundary matchers $ 	The end of a line
        String result = pattern.matcher(input).replaceAll("XXX");
        System.out.println("a\nb\ncXXX\nXXX".equals(result)); // true

        Pattern pattern1 = Pattern.compile("^"); // Boundary matcher ^ 	The beginning of a line
        String result1 = pattern1.matcher(input).replaceAll("XXX");
        System.out.println("XXXa\nb\nc\n".equals(result1)); // true
    }
} 