详细地址正则表达式

Posted wenbuzhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详细地址正则表达式相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

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

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

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

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

 

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

 

 

技术分享图片
@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;

    }
正则代码

 



以上是关于详细地址正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

通过 Java 正则表达式提取 semver 版本字符串的片段

text 正则表达式片段

markdown 正则表达式模式片段

JS正则表达式大全(整理详细且实用)

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

正则表达式之制作地址取址器