можно сказать String.split("(")функция, которая должна разбивать только первую найденную строку "("?
Пример:
String test = "A*B(A+B)+A*(A+B)";
test.split("(") should result to ["A*B","A+B)+A*(A+B)"]
test.split(")") should result to ["A*B(A+B","+A*(A+B)"]