Java正则截取字符串

根据正则截取字符串

示例1

        // 要截取的字符串
        String string = "{\"logLevel\":\"BUSINESS\",\"logType\":\"DEFAULT_TYPE\",\"message\":\"我要获取jobId," +
                "请求Args:[jobId:ww569ca007749c8b8e5a6e2ae4bc051,requestMethod:GET,jobStatus:3,openKey:null,ip:192.168.100.160,paramsMap:{}]\"}";
        // 正则表达式(推荐第一个)
        String regex1 = "\\[jobId:([^,]*?),";
        String regex2 = "\\[jobId:(.*?),";
        // 添加正则
        Pattern compile = Pattern.compile(regex1);
        // 将要截取的字符串添加到匹配器
        Matcher m = compile.matcher(string);
        while(m.find()){
     
            System.out.println( m.group(0));
            System.out.println( m.group(1));
        }

输出:

[jobId:ww569ca007749c8b8e5a6e2ae4bc051,
ww569ca007749c8b8e5a6e2ae4bc051

示例2

        String str = "\n" +
                "{\"logLevel\":\"API\",\"logType\":\"DEFAULT_TYPE\",\"message\":\"我要截取毫秒值:" +
                "[jobId:QQQ559212bfc86b4ae19b07c7681907cf2d,paramsMap:{limit=1}],-->response请求响应时间=【12】毫秒\"}";

        String regex = "【(.*)】";
        Pattern compile = Pattern.compile(regex);
        Matcher m = compile.matcher(str);

        while(m.find()){
     
            System.out.println( m.group(1));
        }

输出:

12

你可能感兴趣的:(Java,java)