// 模糊匹配
public Response list(JSONObject paramJson) {
try {
JSONObject param = new JSONObject();
param.put("pageSize", 10);
param.put("pageNumber", 1);
List<JSONObject> list = schedulers.list();
// 增加模糊查询方法,检索定时任务数据 guoyunlong
String jobName = paramJson.getString("jobName");
List<JSONObject> arrayList = new ArrayList<>();
Pattern pattern = Pattern.compile(jobName);
for (int i = 0; i < list.size(); i++) {
Matcher matcher = pattern.matcher(list.get(i).getString("name"));
if (matcher.find()) {
arrayList.add(list.get(i));
}
}
JSONObject jsonObject = PageUtil.buildPage(arrayList, arrayList.size(), param);
// return ResponseSupport.SUCCESS().setResultData(schedulers.list());
return ResponseSupport.SUCCESS().setResultData(jsonObject);
} catch (Exception e) {
LogUtil.error(e);
return ResponseSupport.ERROR("查询失败:" + e.getMessage());
}
}
// 这是精确匹配
public static void main(String[] args) {
List<User> users = Collections.synchronizedList(new ArrayList<User>());
User u1 = new User(1, "测试1", "1");
User u2 = new User(2, "测试2", "22");
User u3 = new User(3, "测试3, "33");
User u4 = new User(4, "测试4", "42");
User u5 = new User(5, "测试5", "25");
users.add(u1);
users.add(u2);
users.add(u3);
users.add(u4);
users.add(u5);
System.out.println("源数据...");
users.forEach(System.out::println);
System.out.println();
System.out.println("匹配筛选...");
Pattern pattern1 = Pattern.compile("测试1");
Pattern pattern2 = Pattern.compile("测试2");
List list = new ArrayList();
for(int i=0;i<users.size();i++){
Matcher matcher1 = pattern1.matcher(users.get(i).getName());
Matcher matcher2 = pattern2.matcher(users.get(i).getId().toString());
if(matcher1.matches() || matcher2.matches()){
list.add(users.get(i));
}
}
list.forEach(System.out::println);
}