android正则表达式提取省市区字符串报错,在main方法里就正常运行,不会报错 5C

图片说明
代码:

public static List> addressResolution(String address){

    Pattern pattern = Pattern.compile("((?<province>[^省]+省|.+自治区)|上海|北京|天津|重庆)(?<city>[^市]+市|.+自治州)(?<county>[^县]+县|.+区|.+镇|.+局)?(?<town>[^区]+区|.+镇)?(?<village>.*)");
    Matcher m= pattern.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;
}

 有大神知道吗?
0
qq_33477645
Fourteenxx 回复x1825714477: 还没哦,
3 个月之前 回复
x1825714477
x1825714477 解决了吗?我也遇到同样的问题了
3 个月之前 回复

2个回答

0
zhaomin_g
_赵明 回复qq_33477645: 是啊【看好正则好像是没问题,这样你把<xx>换成(xx)试试还会不会报错 】我之前让你试过,目的就是把引用分组换成索引分组,以防jdk不兼容
12 个月之前 回复
qq_33477645
Fourteenxx 我把分组命名去掉就好了
12 个月之前 回复
qq_33477645
Fourteenxx 就是在这里找的,android上跑报错
大约一年之前 回复

把address内容发出来

-1
qq_33477645
Fourteenxx 回复qq_33477645: 我把分组的命名去掉就好了
12 个月之前 回复
qq_33477645
Fourteenxx 回复zhaomin_g: 好的,我看看,但是这个在main方法里跑也是没问题
大约一年之前 回复
zhaomin_g
_赵明 回复zhaomin_g: 你比对下你报错的正则,和贴的代码的正则是不是不一样,我看了下有差异,应该还是你正则的问题
大约一年之前 回复
qq_33477645
Fourteenxx 回复zhaomin_g: Caused by: java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 5: ((?<p>[^省]+省|.+自治区)|上海|北京|天津|重庆)(?<city>[^市]+市|.+自治州)(?<c>[^县]+县|.+区|.+镇|.+局)?(?<t>[^区]+区|.+镇)?(?<village>.*) ,还是报错,不过在main方法里跑就没问题
大约一年之前 回复
zhaomin_g
_赵明 回复qq_33477645: 看好正则好像是没问题,这样你把<xx>换成(xx)试试还会不会报错
大约一年之前 回复
qq_33477645
Fourteenxx 回复zhaomin_g: 还是报错,说是正则表达式的格式问题
大约一年之前 回复
qq_33477645
Fourteenxx 回复zhaomin_g: 我看下,是没,但是还没到这一步就报错了,
大约一年之前 回复
zhaomin_g
_赵明 回复qq_33477645: 你是不是少了一行代码Matcher m= pattern.matcher(address);之后要调用m.matches()获取匹配,仙!
大约一年之前 回复
qq_33477645
Fourteenxx 广东省深圳市,大佬
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
为什么在main函数中run as application,执行正常;而通过tomcat发布后,就报错classnotfound?
为什么在main函数中run as application,执行正常;而通过tomcat发布后,就报错classnotfound? 明明两种方式的java代码是一样的啊,只是一个在main函数中,一个不再main函数中而已。 而包含这个class的jar包明明已经引入了。 tomcat有自己的classloader,而不是时候jre即Java虚拟机中的classloa
AndroidStudio执行Java的main方法报错解决方案
很久没有写public static void main(String []args){}这句代码了,还记得写这句话的时候要么是记事本,要么的Eclipse,突然上手还有点怀念.今天为了要搞清楚抽象类中能不能有静态方法或者静态属性的问题,为了方便就直接在AS中去写验证的Demo(我的AS版本是3.0的),结果发现不能运行,错误如下:    我因为是直接在我的Android工程中去验证的,但是
Android Studio 运行Java 的main方法报错的解决办法
在AS的根gradel上,gradle.properties添加: android.enableAapt2=false
正则表达式匹配提取省市区
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; /** ...
根据地址截取省市区,正则表达式
public class AddressResolution { /** * 解析地址 * @author liuj * @param address * @return */ public static List&amp;lt;Map&amp;lt;String,String&amp;gt;&amp;gt; addressResolution(String addr...
截取地址中的省份,城市
有二种方法 1.是建立一个地区的集合(我存在数据库里面)根据地区来截取。 2.是利用正则表达式来做的。截取“省”字前面的字这样的方法。 这个是在之前一个项目上改的所以是springboot的框架自己看一下。
Android,debug正常运行,用其他途径打开程序就会崩溃,且没报异常!
我在Service中加了下面这句:android.os.Debug.waitForDebugger(); //程序运行到这行时会进入暂停状态,等待调试 这就导致了,而当退出应用时,如果相应的Service没有被关闭,重新打开应用时,启用的Service就还是debug版本的,于是当程序运行到上面这一行时,就进入了等待状态,过了几秒后,程序等待超时而崩溃。 注意上面的红字,也就是说,
自定义DatePicker样式
中兴U880测试通过,支持2.0系统。不过android 4.0下,DatePicker会报错,TimePicker不会报错。
正则表达式提取电话号码
android中在字符串中提取电话号码package app.myapplication;import android.os.Bundle; import android.support.v7.app.ActionBarActivity;import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex
安卓app调试正常,混淆编译apk就出错
最近学用android studio开发一款app,调试好了没什么问题了,准备要编译上线的时候出bug了,一运行就挂掉。真是奇了怪了,又没报错啥的,后面调试了好久才发现是gson解析对象的时候没解析出来,造成了null值的缘故,原因是我的定义对象实体的时候没有实现serializable接口。,可是listview的界面却又能适配出部分属性的数据,我也是醉了,明明log出来的对象的各项值都是nul...
Android使用正则表达式获取字符串
Android通过正则表达式从指定字符串中,获取满足正则表达式的所有字符串,下面我们来看看怎么实现?正则表达式获取字符串用正则表达式从一个字符串中取出所有满足正则表达式的字符串,代码如下:/** * 获取所有满足正则表达式的字符串 * @param str 需要被获取的字符串 * @param regex 正则表达式 * @return 所有满足正则表达式的字符串 */ private ArrayL
如何用Python Pandas以及正则表达式提取地址中的省份
如题。 假设数据在data数据框中,列名为"地址"。 #筛选含省份的字段 data[data['地址'].str.match('.+省']['地址'].str.extract('(.+[省])',expand=True) #去掉省份前特殊字符的样本 data1=data.iloc[:,0].str.replace('.+(号|镇|街|路|乡|道|村|巷|侧|\d|()',‘’) #去掉
android studio中运行main方法报错问题解决方法
as3.0中,在项目中新建一个类,无论点击run XXX.main()还是run XXX.main() with coverage,都会报如下的错: Error:Gradle: failed to create directory 'E:\AndriodStudioProjects\PhotoGallery\app\build\generated\source\r\debug\com\wyx\a
使用正则表达式提取字符串中的内容
[code=&quot;java&quot;]package cn.com.songjy.test; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexTest { public static void main(String[] args) { String regex = ...
python转载[正则表达式指南]
  转自:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html   1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表...
提取省市区及详细地址
vba提取省市区及详细地址的信息,可以按照省份,城市,行政区,详细地址拆分。建议使用完整格式的地址,如不完整需要手动改正。
eclipse创建main方法报错
今天在运行Netty程序时,导入程序报错 原因:没有导入JDK 解决办法:依赖中添加JDK 平时积累的资料也会在这上面分享
在eclipse中可以运行,在idea中就报错,哪位大神知道这是啥原因啊
-
java从地址串中解析提取省市区-完美匹配中国所有地址
前段时间项目中要解析android定位传的一个地址串 分别存入 省 市 区 字段,网上找的 写正则 的方法大都只能解析 xx省xx市xx区 这样的大众化地址,而对于一些命名比较特别的地址(比如:西藏自治区日喀则地区日喀则市 / 海南省省直辖县级行政单位中沙群岛的岛礁及其海域)就会出问题,我就将正则式进行了修改完善。废话不多说 直接上代码:package com.jt.util; import j...
一个从字符串中提取金额的正则表达式
        一个从字符串中提取金额的正则表达式,初学者,写得有点乱,请大家指正 String str = &quot;asd2312.3fasf-0.114fa+234.3sdf&quot;; //String regxp = &quot;[^(-)?(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){1,2})?]&quot;; ...
Android正则表达式匹配字符串
在应用开发过程中,经常会碰到要检索出某个字符串中特定格式的字符,比如说微博@**被标记为蓝色,聊天时“[微笑]”被解析为表情等等,这就用到了正则表达式。 规则可以查阅http://www.jb51.net/shouce/jquery1.82/regexp.html 在Android中的应用: // 匹配字符串中@*** String REGEX = "@[\\u4e
Swift: 从一定格式的字符串中截取数据返回(正则表达式方式)
A.    输入要截取的字符串,返回一个目标输出参数的字符串数组1.输入输出参数:  1. input str = &quot;raw=281804 mV level=100.00%&quot;  2. output battaryArray[0] = &quot;281804&quot;            battaryArray[1] = &quot;100.00%&quot;;2.方法实现:    /// getBatteryParamsFrom...
Eclipse导入android项目包xml报错
Eclipse导入android项目包xml报错 Eclipse导入android项目包xml报错 Eclipse导入android项目包xml报错 Eclipse导入android项目包xml报错
intellj idea运行main方法时提示异常及解决方案
在使用intellj idea 时,遇到一个异常警告,但这个警告不影响程序的正常运行和使用! 具体的警告异常提示如下: objc[20556]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/bin/java (0x108...
es6 遇到正则表达式
模糊点:对于这个两个正则表达式不理解,读不懂let evalExpr = /&amp;lt;%=(.+?)%&amp;gt;/g; let expr = /&amp;lt;%([\s\S]+?)%&amp;gt;/g;首先是不明白正则表达式中 '?' 符号的含义,也就是懒惰匹配,其次是 [/s/S] 的意思不理解。另外在解决问题中发现自己对于正则表达式 ^ $ 理解不透彻,还有一个就是对于字符串方法replace的用法理解太模糊...
JS 地址截取 省市区 (含自治区,直辖市,县,自治县)
var str = &quot;湖北省武汉市江夏区文化大道110号&quot;; // var str =&quot;内蒙古自治区乌兰浩特市二区&quot; // var str = &quot;重庆市渝中区中兴路&quot; // var str = &quot;湖北省黄石市阳新县&quot; // var str =&quot;湖北省宜昌市长阳土家族自治县&quot; // var str = &quot;重庆市秀山土家族苗族自治县武陵南路武陵广场&qu
正则表达式提取范例1
正则表达式: \.(?P[a-zA-Z]*[Ee]xception):\s(?P.*)[\n]+.*?at\s(?P.*?)[\n] 文本内容: // Long Msg: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.content.Context.ge
如何用正则表达式提取字符串中的中英文
今天是我人生中第一个面试,到了那家公司,开始技术面的时候我全懵逼了,面试的具体题目我就不说了,大概意思就是让我将一段字符串中的中英文分割出来,再分别对中英文添加属性样式,要在一个UILabel中分成两行显示. 最后因为鄙人学艺不精,当然被...... 这道题目呢本质上来讲并不是很难,不过为了讲的详细一些,我会分解成两个步骤来讲,每个步骤我会分别写一篇文章来...
从地址字符串获取省市区信息
需求: 从手工填写的地址中,解析出省市区信息 方法 使用百度地图api正/逆地理编码PS: 虽然百度地图提供地点检索,但是是需要传入行政区信息的 根据 正地理编码服务 接口 将地址转换为经纬度,然后根据经纬度调用 逆地理编码服务 接口,得到结构化的行政区信息 代码 define(&quot;BAIDU_MAP_AK&quot;, &quot;你的百度地图AK&quot;); f...
AndroidStudio上打开之前的项目报错但是能运行
在AndroidStudio上打开一个月之前的项目,结果到处报错,但是运行没有问题,查资料后发现是build缓存的问题,按照网上所说清空build缓存之后,项目不在报错了。 步骤: 1.打开AS之后点击File找到下面的Invalidate Caches/Restart 2.点击Invalidate Caches/Restart会弹出来一个
7.关于android studio 的R文件报错,一直报红
这个就简单了,R文件,文件,文件,就是资源文件,一般报红就是资源文件出错,应该都是xml文件里的错,调用错了,或者等等一系列问题,一般都能找到,不难,反正在xml里找就行了。...
#计算字符串中所有数字和,连续当一个数字 (正则表达式,能不用就不用)
s='12as3d6f20ads01sd02' import re def he(s): c=re.compile('\d+')#创建正则表达式 l=c.findall(s)#返回所有匹配结果的列表 sum=0 #和 for i in l: #遍历 sum=sum+int(i) #求和 return sum #返回值 print(he(s...
Django中url的正则表达式错误
今天在使用Django时遇到上面的警告,虽然只是警告,但是却会导致网站无法访问。这问题是Django新版本改变导致URL中不需要再使用正则表达式了,只需要路径就OK了。 urlpatterns = [ path('admin/', admin.site.urls), path('login/', views.login,name='login'), path('',v...
利用正则表达式在字符串中提取数字并求和
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { // TODO Auto-generated method st...
正则表达式提取字符串中的整数或小数
不废话,直接上表达式 [plain] view plain copy(\d+(\.\d+)?)  作用,字符串中如果是整数则匹配整数,如果是小数则匹配小数。
使用正则表达式提取字符串中的完整句子(包括文字、空格、标点)
关于正则表达式,网上有非常多的介绍和使用说明。但本文主要通过一个实际案例来说明如何使用正则表达式。 使用语言:C# 案例背景:博主想通过看美剧来学习英语,但网上的字幕几乎都是中英双语字幕,所以采用正则表达式将字幕中无用的部分去掉,只保留英语原句。 string str = @&quot;Dialogue: 0,0:01:47.29,0:01:49.17,*Default,NTP,0,0,0,,你真是...
正则匹配省市区
String regEx="[^省]+省[^市]+市+[^区]+区";   Pattern p = Pattern.compile(regEx);    Matcher m = p.matcher(city); while(m.find()){ System.out.println(m.group()); }
正则表达式提取尖括号中内容,存入HashMap
需求: 提取&quot;LR(:12970100:&amp;lt;sort:weight-reatime-desc&amp;gt;&amp;lt;size:5&amp;gt;)&quot;字符串中&quot;&amp;lt;&amp;gt;&quot;中的内容,并且存入hashmap,用正则表达式做 &amp;lt;pre&amp;gt;package com.company; import java.util.ArrayList; import java....
正则表达式取出字符串中的数字
public static void main(String[] args) {String a=&quot;love23next234csdn3423javaeye&quot;;String regEx=&quot;[^0-9]&quot;;  Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(a);  System.out.println( m.replaceAll(...
正则表达式识别字符串中的URL
一般我们经常看到一些在帖子或者别人的文章里,文字中间还会夹带着很多的网址还有URL而且URL还是可以点击进去的;还有另外一个较常用到的地方就是聊天系统中识别对话的URL,废话不多说,入正题请看下面的代码大笑