これまでのところ、空白を分割して削除し、演算子で分割するが演算子を保持して同じ配列に挿入することにより、この正規表現を使用して文字列を文字列配列に分割しました。
tokens = rpn.split("(?<=\\s) |(?=\\s) |(?>\\s+) |(?<=[-+*/()])|(?=[-+*/()])|(?>=[-+*/()])");
E.g. input 2 3 + OR 2 3+;
output a[0]=2;a[1]=3;a[2]=+
これは、RPN 電卓がすべての空白を削除し、数字と演算子を分離するためのものです。
上記の正規表現は、数値と演算子を分割するように機能しe.g. 3+ into 3 + but if I have 2 3 +
、出力は次のようになりますtokens[0]=2; tokens[1]=3;tokens[2]="";tokens[3]=+;
この正規表現の問題を解決するのを手伝ってください。