Не могу понять из за чего возникает исключение.
Объяснение регулярного выражения ниже: Искать точку, которая не является последней.
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)