正则表达式知识详解系列,通过代码示例来说明正则表达式知识
源代码下载地址:http://download.csdn.net/detail/gnail_oug/9504094
示例功能:
给一个人的身份证号,查看这个人的出生地编码和出生日期
/** * 分组 * @date 2016-04-20 17:02:22 * @author sgl */ public static void group(){ //提取身份证号里的所属地区编号和出生日期 String str="411421199203048877,433421199304057583"; Pattern p=Pattern.compile("(\\d{6})(\\d{8})\\d{4}"); Matcher m=p.matcher(str); while(m.find()){ //m.group() 整个匹配结果 //m.group(1)第一个子表达式表达式 //m.group(2)第二个子表达式表达式 System.out.println("身份证号:"+m.group()+" 所属地区编号:"+m.group(1)+" 出生日期:"+m.group(2)); } System.out.println("-----子表达式取值顺序------"); //判断第几个表达式时,只看左括号的顺序,如下面 //第一个表达式为((\\d{6})(\\d{8})) //第二个表达式为(\\d{6}) //第三个表达式为(\\d{8}) p=Pattern.compile("((\\d{6})(\\d{8}))\\d{4}"); m=p.matcher(str); while(m.find()){ //m.group() 整个匹配结果 //m.group(1)第一个子表达式表达式 //m.group(2)第二个子表达式表达式 System.out.println("身份证号:"+m.group()+" 所属地区编号+出生日期:"+m.group(1)+" 所属地区编号:"+m.group(2)+" 出生日期:"+m.group(3)); } }
运行结果:
身份证号:411421199203048877 所属地区编号:411421 出生日期:19920304 身份证号:433421199304057583 所属地区编号:433421 出生日期:19930405 -----子表达式取值顺序------ 身份证号:411421199203048877 所属地区编号+出生日期:41142119920304 所属地区编号:411421 出生日期:19920304 身份证号:433421199304057583 所属地区编号+出生日期:43342119930405 所属地区编号:433421 出生日期:19930405
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。