String s= "安徽省合肥市肥西县上派镇";
// String regex="(\\?[^省]+自治区|.*?省|.*?行政区|.*?市)(\\?[^市]+自治州|.*?地区|.*?行政单位|.+盟|市辖区|.*?市|.*?县)(\\?[^县]+县|.+?区|.+市|.+旗|.+海域|.+岛)?(\\?[^区]+区|.+镇)?(\\?.*)";
String regex="((?<province>[^省]+省|.+自治区)|上海|北京|天津|重庆)(?<city>[^市]+市|.+自治州)(?<county>[^县]+县|.+区|.+旗|.+海域|.+岛)?(?<town>[^乡].+镇.+乡)?(?<village>.*)";
Matcher m=Pattern.compile(regex).matcher(s);
// Matcher m = r.matcher(s);
while (m.find()) {
System.out.println("Found value: " + m.group(0) );
System.out.println("Found value: " + m.group(1) );
System.out.println("Found value: " + m.group(2) );
System.out.println("Found value: " + m.group(3) );
System.out.println("1111111111111111111111111111111111111");
System.out.println("Found value: " + m.group("province") );
System.out.println("Found value: " + m.group("city") );
System.out.println("Found value: " + m.group("county") );
System.out.println("Found value: " + m.group("town") );
System.out.println("Found value: " + m.group("village") );
}
System.out.println("NO MATCH");

vue

//select  
<el-form-item label="省市区" prop="shszssq">
<v-distpicker v-model="form.shszssq"
:province="select.province"
:city="select.city"
:area="select.area"
@selected="selected"
></v-distpicker>

</el-form-item>


//省市区截取
selected(data){ this.form.shszssq = data.province.value+data.city.value+data.area.value;
},

//省市区截取
getArea(str) {
var str = str;
var reg = /.+?(省|市|自治区|自治州|行政区|盟|旗|县|区)/g // 省市区的正则
const area = str.match(reg) // 分割省市区
// console.log(area) // ['内蒙古自治区', '锡林郭勒盟', '正镶白旗']
/*var len = 0
for (var i = 0; i < area.length; i++) { // 获取省市区的长度
len += area[i].length
}
area.push(str.substring(len)) // 获取省市区之后的字符串
console.log(area) // ['内蒙古自治区', '锡林郭勒盟', '正镶白旗', '前进大街2699号']
for (var j = 0; j < area.length; j++) {
console.log(area[j])
}*/
return area;
},

var area =this.getArea(this.form.shszssq);
this.select ={ province: area[0], city: area[1], area: area[2] }


 

java和js 用正则表达式切割省市县的代码的更多相关文章

  1. js常用正则表达式2

    字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对 ...

  2. js里正则表达式详解

    详细内容请点击 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/ ...

  3. JS常用正则表达式备忘录

    摘要: 玩转正则表达式. 原文:JS常用正则表达式备忘录 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 正则表达式或"regex"用于匹配字符串的各个部分 下面是 ...

  4. JS的正则表达式简介

    1.JS的正则表达式 1.1 简介 JS的正则表达式比较简单,总体上只分为两个功能:一个是test——用于匹配字符串是否符合规定的正则表达式规则:另外一个是exec——用于获取匹配到的数据. 1.2 ...

  5. JS 利用正则表达式替换字符串

    JS 利用正则表达式替换字符串 博客分类: JavaScript 学习资料 Java代码 收藏代码 JS 利用正则表达式替换字符串 var data = "123123,213,12312, ...

  6. JS 之正则表达式

    字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对 ...

  7. js进阶正则表达式6转义字符(加\转义)(.符号)(|符号)

    js进阶正则表达式6转义字符(加\转义)(.符号)(|符号) 一.总结 转义字符:{} () / $ # & * . ....... //3.特殊字符,都要加转义\ 点符号:var reg2= ...

  8. Atitit 跨平台异常处理(2)--------异常转换 -----java c# js异常对象结构比较and转换

    Atitit 跨平台异常处理(2)--------异常转换 -----java c# js异常对象结构比较and转换 { "@type":"java.lang.Runti ...

  9. Android WebView加载本地html并实现Java与JS交互

    最近做的一个项目中,用到自定义地图,将自定义地图转换成html页面,现在需要做的是如何将本地的html加载到android中,并可以实现交互. 相关讲解: 其实webview加载资源的速度并不慢,但是 ...

  10. Android与H5交互(java与js的交互)

    一.理论概述 1.js调用java方法 直接调用WebView的该方法就可以添加接口了,不过先要启动交互 // 启用javascript mWebView.getSettings().setJavaS ...

随机推荐

  1. c/c++ 2d矢量库

    Cairo Cairo is a 2D graphics library with support for multiple output devices. Currently supported o ...

  2. vue-element-admin框架连接yapi配置vue.config.js

    devServer: { host:'localhost', port:port, proxy:{ [process.env.VUE_APP_BASE_API + '/admin']: { //配置p ...

  3. 数值分析之解线性方程组的直接方法 5.X

    矩阵 谱分解 设 \(\boldsymbol{A}=a_{i j} \in \mathbb{R}^{n \times n}\) , 若存在数 \(\lambda\) (实数或复数) 和非零向量 \(\ ...

  4. vue3新特性的使用

    1.Suspense组件:等待异步组件时渲染一些额外内容,让应用有更好的用户体验 例: <template> <div class="app"> <h ...

  5. OneinStack基础搭建typecheo轻量级博客

    利用OneinStack搭建运行环境 1.访问oneinstack官网https://oneinstack.com/auto/,选择自动安装-自定义安装,根据自己需求生成linux 执行命令(这里我安 ...

  6. React自定义组件参数小驼峰命名提示警告 Warning: React does not recognize the `xxXxx` prop on a DOM element.

    Warning: React does not recognize the `xxXxx` prop on a DOM element. If you intentionally want it to ...

  7. QT--弹出新的对话框 show()/exec()的区别

    show()显示非模态对话框,exec()显示模态对话框. 非模态对话框不会阻塞程序的线程,因此 如果你的对话框时创建在栈上,跳出作用域之后,对象便销毁了,对话框会一闪而过: 如果使用new在堆上创建 ...

  8. 在springboot使用jsp

    在springboot配置jsp环境 在pom.xml中添加配置依赖 内容如下: <dependency> <groupId>org.springframework.boot& ...

  9. Asp.net中web.config配置文件最全面详解 (转载至CSDN)

    转载至csdn链接如下 https://blog.csdn.net/u011966339/article/details/64905062 web.config是一个XML文件,用来储存Asp.net ...

  10. mysql转国产数据库达梦随记

    记录一下转换的一些小坑. window环境 项目是springboot+ activiti6 + vue 第一步转移数据: mysql5.7  ---> 达梦7 这里使用dm的工具进行转换.发现 ...