使用java 正则表达式如何读取以下数组中的%user对应数据

avg-cpu:%user%nice%system%iowait%steal%idle38.710.003.603.150.0054.54,一个文本中有多个这类型的数组,... avg-cpu: %user %nice %system %iowait %steal %idle
38.71 0.00 3.60 3.15 0.00 54.54

,一个文本中有多个这类型的数组,都需要提取%user的数据,该如何写?
展开
 我来答
楚立诚B
推荐于2016-11-28 · TA获得超过1.2万个赞
知道小有建树答主
回答量:461
采纳率:0%
帮助的人:135万
展开全部
public class Test941 {

    public static void main(String[] args) {
//  \d+ 表示至少有一个数字   
//  \p{Punct} 表示其中的一个:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
//   空格+ 表示匹配一个或者多个空格
        Pattern p = Pattern.compile("(\\d+\\p{Punct}\\d+) +(\\d+\\p{Punct}\\d+) +(\\d+\\p{Punct}\\d+) +(\\d+\\p{Punct}\\d+) +(\\d+\\p{Punct}\\d+)");
        String u = "38.71    0.00        3.60         3.15        0.00   54.54";
        Matcher m = p.matcher(u);
        while (m.find()) {
            System.out.println("m.group():" + m.group()); 
            System.out.println("m.group(1):" + m.group(1)); 
            System.out.println("m.group(2):" + m.group(2)); 
            System.out.println("m.group(3):" + m.group(3)); 
            System.out.println("m.group(4):" + m.group(4)); 
            System.out.println("m.group(5):" + m.group(5)); 
        }
    }

}

希望能帮到你

追问
这样需要把匹配的数据要一个一个的写入到程序中,太麻烦了,我给出的数组只是文本中的一个,如果一个文本中有多个这样的数组,而且每个数组都需要提取%user的数据,该怎么弄?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式