详细地址正则表达式

^.+(区|镇).+(路|街).+号.+号楼.+单元.+(室|户).*$

^.+(路|街).+号.+号楼.+单元.+(室|户).*$

^.+县.+(路|街).+号.+号楼.+单元.+(室|户).*$

^.+县.+(镇|乡).+(路|街).+号.+号楼.+单元.+(室|户).*$

^.+(区|镇).+小区.+号楼.+单元.+(室|户).*$

^.+小区.+号楼.+单元.+(室|户).*$

^.+县.+小区.+号楼.+单元.+(室|户).*$

^.+县.+(镇|乡).+小区.+号楼.+单元.+(室|户).*$

^.+(路|街|里).+号.+(室|户).*$

^.+(镇|乡).+村.+(组|屯).+号.*$

^.+(镇|乡|街).+(村|屯).+(组|号).*$

 

用符号 “|” 来连接上面的地址

 

 

@Test
    public void method(){
        List<String> list = new ArrayList<>();
//        String regexpLike = "^.+(区|镇).+(路|街).+号.+号楼.+单元.+(室|户).*$" ;
//        String regexpLike = "^.+(路|街).+号.+号楼.+单元.+(室|户).*$" ;
//        String regexpLike = "^.+县.+(路|街).+号.+号楼.+单元.+(室|户).*$" ;
//        String regexpLike = "^.+县.+(镇|乡).+(路|街).+号.+号楼.+单元.+(室|户).*$" ;
//        String regexpLike = "^.+(区|镇).+小区.+号楼.+单元.+(室|户).*$" ;
//        String regexpLike = "^.+小区.+号楼.+单元.+(室|户).*$" ;
//        String regexpLike = "^.+县.+小区.+号楼.+单元.+(室|户).*$" ;
//        String regexpLike = "^.+县.+(镇|乡).+小区.+号楼.+单元.+(室|户).*$" ;
        String regexpLike = "^.+(路|街|里).+号.+(室|户).*$" ;
//        String regexpLike = "^.+(镇|乡).+村.+(组|屯).+号.*$" ;
//        String regexpLike = "^.+(镇|乡|街).+(村|屯).+(组|号).*$" ;
        
        list.add(regexpLike);
        String address = "A区A路A号楼A单元A室";
        System.out.println(checkAddress(list,address));
        

    }
    
    private boolean checkAddress(List<String > rules, String address) 
    {
        boolean regexMatch = false;
        for (String addressRule : rules) {
            Pattern p = Pattern.compile(addressRule);
            Matcher m = p.matcher(address);
            if (m.find())
            {
                regexMatch = true;
                return regexMatch;
            }
        }
        return regexMatch;

    }
正则代码

 

posted @ 2018-11-29 15:57  稳不住  阅读(13662)  评论(0编辑  收藏  举报