正则表达式知识详解之分组 (java版示例)

正则表达式知识详解系列,通过代码示例来说明正则表达式知识

代码下载地址: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

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...