如何用java写负数的正则表达式

2025-04-09 15:33:53
推荐回答(1个)
回答1:

String express = "-3-4";
//express = "-3+4";
//express = "3+4";
//express = "3-4";

//清除空格,避免无法匹配
express = express.replaceAll(" ","");

Matcher m = Pattern.compile("(-?\\d{1,})+?(-?\\d{1,})").matcher(express);
if(m.find()){
double one = Double.parseDouble( m.group(1));
double two = Double.parseDouble( m.group(2));
System.out.println(one+two);
}

用正则就彻底一点,直接取结果计算,  正数、负数都当成一个数。

减法当作 加法 加负数就好,默认有个隐形的加号, 匹配并捕获完整的数字直接加法,不用自己在计算结果的时候写 负号。