行政区划正则表达式匹配规则及java实现

行政区划正则表达式匹配规则及java实现

(.*?省|.*?市|.*?自治区)?(.*?市|.*?县|.*?区|.*?自治州)?(.*?县|.*?区)(.*?小区|.*?村)(.*?号楼|.*?楼|.*?栋|.*?组|.*?号)?(.*)

简单的正则规则如上,不是实际生产环境用的,实际用比这要复杂的多,

复制上面的正则,到https://regexper.com 看一下规则,展示效果如下:

按照自己项目里面的需要,调整的满足要求后复制到java代码里面使用,java代码

public static List> addressResolution(String address){

String regex="(?.*?省|.*?市)?(?.*?市|.*?县|.*?区)?(?.*?市|.*?县|.*?区)(?.*?小区|.*?村)(?.*?号楼|.*?楼|.*?栋|.*?队|.*?组|.*?号|.*?室)?(?.*)"; //不要直接用这个,这个是经过大量精简后的

String province=null, city=null,county=null,town=null,village=null,building=null,other=null;

List> table=new ArrayList>();

Map row=null;

Matcher m=Pattern.compile(regex).matcher(address);

while(m.find()){

row=new LinkedHashMap();

province=m.group("province");

row.put("province", province==null?"":province.trim());

city=m.group("city");

row.put("city", city==null?"":city.trim());

county=m.group("county");

row.put("county", county==null?"":county.trim());

village=m.group("village");

row.put("village", village==null?"":village.trim());

building=m.group("building");

row.put("building", building==null?"":building.trim());

other=m.group("other");

row.put("other", other==null?"":other.trim());

table.add(row);

}

return table;

}

测试

System.out.println(addressResolution("黑龙江省大庆市测试县测试镇测试村测试队11号"));

行政区划正则表达式匹配规则及java实现相关教程

java实现行政区域划分,行政区划正则表达式匹配规则及java实现相关推荐

  1. java正则任意字符_正则表达式匹配任意字符(包括换行符)的写法

    今天在Java中想使用正则表达式来获取一段文本中的任意字符.于是很随意得就写出如下匹配规则: (.*) 结果运行之后才发现,无法获得换行之后的文本.于是查了一下手册,才发现正则表达式中,". ...

  2. Python中使用正则表达式以及正则表达式匹配规则

    前排提要: 本博客介绍在Python下使用正则表达式从给定的字符串中获取到想要的字符串. 1 导库 import re 2 使用模板 re_pattern = re.compile(pattern, ...

  3. 正则表达式——匹配规则

    正则表达式的匹配规则是从左到右按规则匹配.我们首先来看如何使用正则表达式来做精确匹配. 对于正则表达式abc来说,它只能精确地匹配字符串"abc",不能匹配"ab&quo ...

  4. java正则 链接_Java使用正则表达式匹配获取链接地址的方法示例

    本文实例讲述了Java使用正则表达式匹配获取链接地址的方法.分享给大家供大家参考,具体如下: 获取页面中字符串的url地址我们都会使用正则表达式来匹配获取了,下面我来给大家总结几个匹配获取链接地址示例 ...

  5. flex 正则表达式匹配规则

    正则表达式扫描的优先级     1. 先根据空格,tab,回车分割字符串,作为正则表达式匹配的基础     2. 找到完全匹配的正则表达式,以排列在前面的优先级为高     3. 如果找不到匹配的表达 ...

  6. java 正则 括号外_正则表达式匹配括号外的符号及数据

    正则表达式匹配括号外的符号 [\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$)) 将括号外的?!/.,和空格(连续多个时同时)匹配 如 String string1 = "sd ...

  7. python 正则表达式-匹配规则

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python ...

  8. java 正则 小括号_java正则表达式匹配小括号内的内容

    正则表达式用来指定字符串模式.当你需要定位匹配某种模式的字符串时就可以使用正则表达式.例如,我们下面的一个例程就是在一个HTML文件中通过查找字符串模式来定位所有的超链接.     当然,为了指定一种 ...

  9. java正则表达式 匹配()_学习Java正则表达式(匹配、替换、查找)

    import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...

最新文章

  1. python logging模块写入中文,文件乱码的解决方法
  2. 腾讯TEG团队打造轻量级数据可视化工具——小马BI【强烈推荐大数据行业学习】
  3. 深度学习(Deep Learning):循环神经网络一(RNN)
  4. Lombok@Builder和@NoArgsConstructor冲突
  5. .NET 5 开发WPF - 美食应用登录UI设计
  6. [react] 在React怎么使用Context?
  7. Permissions for id_rsa are too open
  8. android uber启动动画,仿 Uber 视频背景登录界面以及登录动画
  9. uc3842改可调电源教程_《学习笔记》--DC/DC电源电路设计实例
  10. JavaScript运行机制:event-loop
  11. IntelliJ IDEA下SVN的配置及使用说明
  12. CentOS7.5 怎么修改默认SSH端口号
  13. Python—基础知识之总结(6)
  14. HTML meta 标签
  15. [推荐系统]互联网推荐系统比较研究
  16. HTML(简介及常用标签)
  17. 智商一般学计算机,IQ最高的十大专业公布 智商不高慎选
  18. Python机器学习英文资源
  19. FP64、FP32、FP16、FP8简介
  20. 从0到1,搭建离线下载器

热门文章

  1. 毕业季基于spring的基于安卓APP的基于ssm框架的基于微信小程序的管理系统设计与开发(开题+源码+讲解+论文)
  2. 插件开发之国际化(i18n)
  3. 前端笔记(5)盒子模型,边框,内外边距,盒子模型布局,ps基本操作,列表样式,圆角边框,盒子阴影
  4. dede织梦CMS安装页面出现dir的通用安装教程
  5. matlab fft 相位混乱,matlab fft 幅度,相位
  6. [转]rpcndr.h和wtypes.h冲突Bug的解决方案
  7. visual studio 2015 下载
  8. Tensorflow学习笔记——tf.set_random_seed函数
  9. 2018有赞校招笔试题
  10. android studio assets 添加,Android studio 添加assets文件夹的方法