java正则多条件表达式匹配提取

提取字符串中的数字,不论是浮点数还是整数

 String str = "20+10+20.158-(2200.125-80.23*325)+57";
        Pattern pattern = Pattern.compile("(\\d+\\.\\d+)|(\\d+)*");
        Matcher matcher = pattern.matcher(str);
        while (matcher.find()){
            String res = matcher.group();
            if (res.length()>0){
                System.out.println(res);
            }
        }

其结果输出

20
10
20.158
2200.125
80.23
325
57

正则条件分析

(\d+\.\d+)|(\d+)*

\d+ 匹配数字

\. 匹配 .

| 或条件

* 匹配多个

你可能感兴趣的:(正则表达式)