Как лучше разбить выражение на токены: числа, переменные, операции и скобки? Например, есть выражение: "-3+54*-23/-a*length^(x+y)", а нужно получить массив строк:
[-3, +, 54, *, -23, /, -a, *, length, ^, (, x, +, y, )]
Сейчас я использую встроенный в строке метод split, но уж больно длинный аргумент получается для этого метода...