можно указать функцию 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)"]