从复杂字符串中找出符合正则的字符串

原创 2018年04月17日 15:35:41

笔者从导游证中识别出文字后,需要提取导游证号

电子导游证长这样


返回数据长这样

{"status":"0","msg":"ok","result":["中国移动4G","14:18","Q36%口","<返回关闭","导游证","●●●","APP关闭","CHINA TOUR GUIDE","沈XX","SHEN SHUFANG","导游证号:YBP3XX2R","导游级别:初级","导游语种:普通话初级","所在机构:XXX中国际旅行社有限","公司","回强口","查看评价信息"]}

因为识别效率以及导游证格式多种并且因为用户上传的照片有些比较模糊,“导游证号”这四个字不一定识别得出来.如果是导游证号都模糊识别不出来,那就没话说了,直接转人工识别了

所以采用下述方法来取导游证号

正则

[\\d+.\\d+|\\w+]{8}

我们需要导游证号YBP3XX2R 由英文以及数字组成,并且长度为8

上代码

 public static void main(String[] args){  
		        String  str="{\"status\":\"0\",\"msg\":\"ok\",\"result\":[\"中国移动4G\",\"14:18\",\"Q36%口\",\"<返回关闭\",\"导游证\",\"●●●\",\"APP关闭\",\"CHINA TOUR GUIDE\",\"沈XX\",\"SHEN SHUFANG\",\"导游证号:YBP3XX2R\",\"导游级别:初级\",\"导游语种:普通话初级\",\"所在机构:XX中国际旅行社有限\",\"公司\",\"回强口\",\"查看评价信息\"]}";  
		        String s = "[\\d+.\\d+|\\w+]{8}";
		        Pattern  pattern=Pattern.compile(s);  
		        Matcher  ma=pattern.matcher(str);  
		   
		        while(ma.find()){  
		        		System.out.println("find "+ma.group());  
		        	}
		   
		    }  


输出:find YBP3XX2R

正则表达式中“\d”表示[0-9]的数字,“\d+”表示由[0-9]的数字组成的数字,“\w”表示[A-Z0-9],“\w+”表示由数字、26个英文字母或者下划线组成的字符串,“\d+.+\d+”表示小数

版权声明:开源共享,觉得文章对你有用就拿去吧,内容如果侵犯您的权益或者您有其他需要交流的,可以联系taishanglianqing#qq.com(把#替代为@即可) https://blog.csdn.net/qq_22585453/article/details/79975512

java在字符串中获取满足正则表达式的字符

最近在做爬虫,需要获取文章的基本信息,时间和来源是一起的. 所以就想到用正则表达式提取这段字符串中的时间. demo如下: import java.util.regex.Matcher; imp...
  • yx13649017813
  • yx13649017813
  • 2015-07-29 14:35:06
  • 2714

将字符串符合规则的字符取出

/* 将字符串中符合正则的取出 步骤: 1、将正则表达式封装成对象。 2、让正则对象和要作用的字符串相关联。 3、关联后,获得正则匹配引擎。 4、通过引擎对符合规则的子串进行操作,如读取等。 */ i...
  • chaoyu168
  • chaoyu168
  • 2015-11-19 11:34:07
  • 870

将已知字符串的符合一定规则(指定正则)的子字符串取出(步骤笔记)

  • 2017年03月11日 17:16
  • 3.44MB
  • 下载

将字符串中符合规则的子串取出

1、将正则表达式封装成对象 Pattern p = Pattern.compile(reg); 2、让正则对象和药操作的字符串相关联 Matcher m = p.matcher(str); 3...
  • w302974215
  • w302974215
  • 2015-11-01 15:11:18
  • 179

字符串规则检测与正则表达式

 平时除了工作,还要为自己的理想而奋斗,很少有时间来写博客。今天加班,但是却很空闲,于是把有些东西拿出来整理整理。近来一直在做一个基于Struts的Java Web日本项目,没有什么高深的技术问题,一...
  • chenwei0000
  • chenwei0000
  • 2007-08-11 13:09:00
  • 1826

Python 正则表达式查找字符串中特定字符

Regular Expression \bcat\b
  • guaguastd
  • guaguastd
  • 2014-08-11 10:49:05
  • 1377

Java查找一个字符串中所有匹配某正则的子串

代码如下: String line = "2016年10月11日我们去哪里玩近期我们近日,次年,同年等等,10月,2019年,3月4日" Pattern datePattern = Pattern.c...
  • u011734144
  • u011734144
  • 2016-07-21 10:30:15
  • 9138

JS中使用正则查找查找字符串中的手机号码或者固定电话

查找字符串中的手机号码或者固定电话 字符串为: a15112250161c0755-2451454c18926057890111放0755-4554444分 正则表达式为(此表达式仅仅针对查找逻...
  • myspacedemen
  • myspacedemen
  • 2017-04-22 16:00:49
  • 1952

java替换字符串中符合正则表达式的内容

废话不多说,直接上代码!注解很详细!不懂留言!转载说明出处,谢谢 public static void main(String[] args){ String content = "你...
  • u012076316
  • u012076316
  • 2015-05-25 15:44:57
  • 559

正则表达式匹配工具

  • 2012年11月19日 17:15
  • 5.94MB
  • 下载
收藏助手
不良信息举报
您举报文章:从复杂字符串中找出符合正则的字符串
举报原因:
原因补充:

(最多只允许输入30个字)