Можете ли вы преобразовать свое регулярное выражение так, чтобы его разделили неработающие символы?
String ops[] = string.split("[a-z]")
// ops == [+, -, *, /, <, >, >=, <=, == ]
Это, очевидно, не возвращает переменные в массиве. Возможно, вы можете чередовать два раскола (один по операторам, один по переменным)