Java String.split () Regex

У меня есть строка:

String str = "a + b - c * d / e < f > g >= h <= i == j";

Я хочу разделить строку на все операторы, но включить операторы в массив, чтобы результирующий массив выглядел следующим образом:

[a , +,  b , -,  c , *,  d , /,  e , <,  f , >,  g , >=,  h , <=,  i , ==,  j]

Я получил это в настоящее время:

public static void main(String[] args) {
    String str = "a + b - c * d / e < f > g >= h <= i == j";
    String reg = "((?<=[<=|>=|==|\\+|\\*|\\-|<|>|/|=])|(?=[<=|>=|==|\\+|\\*|\\-|<|>|/|=]))";

    String[] res = str.split(reg);
    System.out.println(Arrays.toString(res));
}

Это довольно близко, это дает:

[a , +,  b , -,  c , *,  d , /,  e , <,  f , >,  g , >, =,  h , <, =,  i , =, =,  j]

Есть ли что-то, что я могу сделать для этого, чтобы множественные символьные операторы появлялись в массиве так, как я хочу?

И как второстепенный вопрос, который не так важен, есть ли в регулярном выражении способ обрезать пропуски вокруг букв?

Ответы на вопрос(5)

Ваш ответ на вопрос