先定义正则规则(可以自己替换规则):filter()方法使用
String regex = "^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$";
Pattern pattern=Pattern.compile(regex);
filter()方法:
ListuserList = list.stream().filter(m -> pattern.matcher(m.getSfzh()).matches()) .collect(Collectors.toList());
map()方法使用
ListuserList = list.stream().map(m -> { System.out.println(pattern.matcher(m.getSfzh()).matches()); if (pattern.matcher(m.getSfzh()).matches()){ return m; } return null; }).filter(Objects::nonNull).collect(Collectors.toList());



