Ваша проблема в том, что обратный слеш имеет особое значение как в строках Java, так и в регулярных выражениях. Таким образом, вам нужно четыре слэша в исходном коде Java, передавая два в анализатор регулярных выражений, чтобы получить один литерал один в регулярном выражении:
return userWithDomain.replaceAll("^.*\\\\", "");