正则表达式匹配提取省市区
前言
本文主要介绍通过正则表达式匹配提取省市区,有完整的代码示例和详细的注释。
package com.importData;import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;/*** @author xiang.wei* @create 2018/3/1 16:44*/
public class OriginTest {/*** 省*/private static final String PROVINCE = "省";/*** 市*/private static final String CITY = "市";/*** 区*/private static final String REGION_1 = "区";/*** 县*/private static final String REGION_2 = "县";public static void main(String[] args) {// XX省XX市XX区;XX省XX市XX市;XX省XX市XX县;XX市XX区;XX市XX县
// 1.浙江省杭州市滨江区
// 2.上海上海市金山区
// 3.浙江省台州市玉环县
// 4.湖北省潜江市潜江经济开发区String[] placeList = new String[]{"浙江省杭州市滨江区","上海上海市金山区","浙江省台州市玉环县","湖北省潜江市潜江经济开发区","湖北省潜江市江汉石油管理局","湖北省天门市马湾镇"};for (String place : placeList) {System.out.println(addressResolution(place));}}/*** 解析地址* @param address* @return*/public static List<Map<String,String>> addressResolution(String address){String regex="((?<province>[^省]+省|.+自治区)|上海|北京|天津|重庆)(?<city>[^市]+市|.+自治州)(?<county>[^县]+县|.+区|.+镇|.+局)?(?<town>[^区]+区|.+镇)?(?<village>.*)";Matcher m=Pattern.compile(regex).matcher(address);String province=null,city=null,county=null,town=null,village=null;List<Map<String,String>> table=new ArrayList<Map<String,String>>();Map<String,String> row=null;while(m.find()){row=new LinkedHashMap<String,String>();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());town=m.group("town");row.put("town", town==null?"":town.trim());village=m.group("village");row.put("village", village==null?"":village.trim());table.add(row);}return table;}}
测试结果:
http://bbs.csdn.net/topics/392309227
正则表达式匹配提取省市区相关推荐
- python正则匹配ip地址_Python正则表达式匹配和提取IP地址
Linux No.1 IPv4 下面是IPv4的IP正则匹配实例: 简单的匹配给定的字符串是否是ip地址 import re if re.match(r"^(?:[0-9]{1,3}.){3 ...
- python re正则提取ip地址_Python正则表达式匹配和提取IP地址
No.1 IPv4 下面是IPv4的IP正则匹配实例: 简单的匹配给定的字符串是否是ip地址 import re if re.match(r"^(?:[0-9]{1,3}\.){3}[0-9 ...
- Python Re 正则表达式 数据匹配提取 基本使用
Python re 正则表达式 数据匹配提取 基本使用 小洲提示:代码可直接复制在编译器中运行,方便更好的理解 文章目录 Python re 正则表达式 数据匹配提取 基本使用 前言 一.导入库,内置 ...
- python re正则提取ip地址_python 正则表达式匹配IP地址
一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从tex ...
- java如何从地址串中解析提取省市区(完美匹配中国所有地址)
https://download.csdn.net/download/cncjh/12249234 java如何从地址串中解析提取省市区(完美匹配中国所有地址) / 张生荣 java从地址串中解析提取 ...
- php省市区筛选,PHP利用正则表达式匹配省市区
这次给大家带来PHP利用正则表达式匹配省市区,PHP利用正则表达式匹配省市区的注意事项有哪些,下面就是实战案例,一起来看一下.preg_match('/(.*?(省|自治区|北京市|天津市))+(.* ...
- 使用正则表达式匹配HTML 下各种title标签
http://www.oschina.net/question/195686_46313 <title>标题</title> <title> 标题 </tit ...
- 正则表达式匹配多个字符串中的一个
正则表达式匹配多个字符串中的一个 当我们采集数据时,会用到正则匹配功能 (前缀)(?<content>[\s\S]*?)(后缀) 例如采集产品多图时,前缀与后缀部分一般情况下是不相同的,这 ...
- java正则 链接_Java使用正则表达式匹配获取链接地址的方法示例
本文实例讲述了Java使用正则表达式匹配获取链接地址的方法.分享给大家供大家参考,具体如下: 获取页面中字符串的url地址我们都会使用正则表达式来匹配获取了,下面我来给大家总结几个匹配获取链接地址示例 ...
最新文章
- JS无法获取display为none的隐藏元素的宽度和高度的解决方案
- 计算机科学与技术导论
- Matlab计算基站覆盖面积示例
- OpenCV PCA提取对象的方向的实例(附完整代码)
- 前端学习(1690):前端系列javascript之知识体系1
- 举牌人表情包使用nodejs实现
- CentOS/Ubuntu/Debian常用版本更换国内源的方法
- 蓝桥杯训练 2n皇后
- 网络通信第一课 C++封装HTTP请求报文说明
- 关于java中main方法为什么必须是静态的
- 动易访问mysql_服务器如何设置动易系统数据库路径的方法
- 详解Instant类
- Thumbnails压缩图片
- LVGL官方文档-7.11.0-5-Porting-Input device interface
- fixed income
- PM小课堂 项目管理中的甘特图妙用
- 动态表格案例 JavaScript
- 内网渗透-横向渗透2
- 【区块链技术工坊29期实录】小包总:SERO基于零知识证明的隐私保护公链解决方案
- 500天后是几几年几月几日
热门文章
- mysql建库sql语句_mysql建库和建表的sql语句
- Oracle 10G出现了tabel name类似 BIN$DEh5mRKIRGKvC6E+bQCawQ==$0 的表
- 广告制胜无它,顺应人性尔——leo鉴书63
- 联发科 helio g85相当于骁龙多少 联发科G85处理器怎么样
- vue中使用vue-typed-js
- 32/64位平台下char、short、int、long、指针等类型分别占多少字节
- 【跟李沐学AI学习笔记】数据操作
- selenium怎么定位/操作图片中的验证码?
- 泉州师范学院计算机课程表,泉州师范学院软学院 2010 级第 四 学期课程表.doc
- 朋友圈裂变营销活动怎么做?有什么玩法?裂变海报?积分