Can you invert your regex so split by the non operation characters?
String ops[] = string.split("[a-z]")
// ops == [+, -, *, /, <, >, >=, <=, == ]
This obviously doesn't return the variables in the array. Maybe you can interleave two splits (one by the operators, one by the variables)