Entraria a expressão toda e em cima dela eu faria a primeira verificação usando ER.
O Formato deve ser assim:
número número operador número operador número operador...Sempre separados por um espaço podendo haver algo do tipo:
10 2 / 4 * - + 10/2 4 * 3 + 5/2 8/4 + 9/3 *A partir da segunda já é sequencia e deve terminar com operador, no caso os 4 principais: adição, subtração, divisão e multiplicação.
Certo, ai eu fiz essa expressão:
^(([0-9]{1,})(\\/[1-9]{1,})?[[:space:]]){2}[\\+\\-\\*\\/]([[:space:]](.+?)[\\+\\-\\*\\/])?$
Essa expressão no caso só verifica a existencia de números ou frações nas duas primeiras casas, operador na terceira, alguma coisa pondendo ou não existir e deve terminar com operador.
Funciona legal, mas o problema é que se a partir da 3 casa eu colocar varios espaços ele está considerando, por exemplo:
10/2 1/2 / 2 +Isso não deveria acontecer...
Alguém tem uma solução ou ficou muito confuso?
Flws...
Até mais