根据正则截取字符串
示例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