到目前为止,我已经有了这个正则表达式,可以通过拆分和删除空格将我的字符串拆分为一个字符串数组,还可以按运算符拆分,但保留运算符并插入到同一个数组中。
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]=+;
请任何人帮助解决这个正则表达式问题。