Why do you have to use a RegEx?
You can simply use indexOf
and substring
public List<String> splitOnDot(String input) {
List<String> result = new ArrayList<>();
int idx = -1;
while ((idx = input.indexOf('.', idx + 1)) != -1) {
result.add(input.substring(0, idx));
input = input.substring(idx + 1);
}
return result;
}