1.四则运算表达式(含括号)切分为数字和操作符
"(?<!\\d)-?\\d+(\\.\\d+)?|[+\\-*/()]" (Java)
负号 数字(整数or小数) | 操作符
说明:
1.Java中正则表达式的转义字符是\\
2.\d+(\.\d+)? 表示数字部分,小括号里的是小数部分,?表示0~1次
3.(?<!\d)-? 表示数字部分前面的负号;第二个?表示负号可有可无;(?<!\d) 表示不能以数字开头,即这个负号的前面不能是数字(否则-就是减号,而不是负号了)
案例:
String exp = "9+(3-1)*3+10/2"; // 待处理的字符串表达式
Pattern p = Pattern.compile(&