Не могу понять из за чего возникает исключение. Объяснение регулярного выражения ниже: Искать точку, которая не является последней.
public class Solution {
    public static void main(String[] args) {
        System.out.println(getFileName("hello.test.part1"));
    }

    public static String getFileName(String input) {
        return input.replaceAll("\\.(?=.+\\.)", "\\");
    }
}
Данные об исключении: Exception in thread "main" java.lang.IllegalArgumentException: character to be escaped is missing at java.base/java.util.regex.Matcher.appendExpandedReplacement(Matcher.java:1020) at java.base/java.util.regex.Matcher.appendReplacement(Matcher.java:998) at java.base/java.util.regex.Matcher.replaceAll(Matcher.java:1182) at java.base/java.lang.String.replaceAll(String.java:2126) at com.company.Solution.getFileName(Solution.java:7) at com.company.Solution.main(Solution.java:3)