publicstaticMap<String,String>addressResolution(String address){String regex ="(?<province>.*?自治区|.*?省|.*?行政区|.*?市)(?<city>.*?自治州|.*?地区|.*?行政单位|市辖区|.*?市)?(?<county>.*?市|.*?县|.*?区)?(?<village>.*)";Matcher m =Pattern.compile(regex).matcher(address);String province, city, county, village;Map<String,String> row =null;while(m.find()){
row =newLinkedHashMap<>();
province =StringUtils.isNotBlank(m.group("province"))? m.group("province").trim():"";
row.put("province",StringUtils.isEmpty(province)? address : province);
city =StringUtils.isNotBlank(m.group("city"))? m.group("city").trim():"";
row.put("city",StringUtils.isEmpty(city)? province : city);
county =StringUtils.isNotBlank(m.group("county"))? m.group("county").trim():"";
row.put("county",StringUtils.isEmpty(county)? city : county);
village =StringUtils.isNotBlank(m.group("village"))? m.group("village").trim():"";
row.put("village",StringUtils.isEmpty(village)? county : village);}if(row ==null){
row =newLinkedHashMap<>();
row.put("village", address);}return row;}publicstaticvoidmain(String[] args){System.out.println(addressResolution("山东省潍坊市昌邑市龙源国际小区"));}