上机考试遇见了一个表达式计算的题。
我想首先把表达式中的数字(字符串形式)提取出来转换成数字,于是就用了java的正则表达式将算数表达式进行拆分。
代码如下
private static void test6()
{
// 提取张三 去除数字
String r_name3 = "11111+22-4*62/3";
try
{
Pattern pattern = Pattern.compile("[+*-/]");
String[] result=pattern.split(r_name3);
for(int i=0;i
{
System.out.println(result[i]);
}
}
catch(PatternSyntaxException e)
{
System.out.println("产生异常了!");
}
}
输出结果为:
11111
22
4
62
3
结果是正确的,但是如果将正则表达式改为"[+-*/]"就会产生异常,我试了一下,只有*放在-后面时才会产生异常,其他的情况都不会产生异常(如"[*+-/]"),请问这是为什么?
小弟水平有限,请多多指教。。。