正则表达式知识详解之分组 (java版示例)
发布时间:2020-12-14 04:26:00 所属栏目:百科 来源:网络整理
导读:正则表达式知识详解系列,通过代码示例来说明正则表达式知识 源代码下载地址: http://download.csdn.net/detail/gnail_oug/9504094 示例功能: 给一个人的身份证号,查看这个人的出生地编码和出生日期 /** * 分组 * @date 2016-04-20 17:02:22 * @author sg
正则表达式知识详解系列,通过代码示例来说明正则表达式知识 源代码下载地址: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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- postgresql – 通过SQL计算序列中的字符
- c# – WPF – Canvas_MouseLeftButtonDown事件
- c# – 有效地从“foreach”中删除项目
- flex builer3 与 flash builer4的正式版下载(window and m
- Oracle 设置主键自增长__Oracle
- ApplicationContext.xml数据源使用,
- Link Aggregation(链路聚合)
- 在C#中从父窗体的子窗体中为控件添加事件处理程序
- vue + webpack如何绕过QQ音乐接口对host的验证详解
- 与项目’:app’中的依赖’com.android.support:support-an