正表达式区分大写字母,小写字母,数字,汉字

 String str = "我你la123BBcc你你";
		 String reg_character = "([A-Z]*)([a-z]*)([0-9]*)([\u4E00-\u9FA5]*)";
		 Pattern p =Pattern.compile(reg_character);
		 Matcher m = p.matcher(str);
		 StringBuilder uppercharacter = new StringBuilder();
		 StringBuilder lowercharacter = new StringBuilder();
		 StringBuilder number = new StringBuilder();
		 StringBuilder chinese = new StringBuilder();
		 while(m.find()){
//			 if(!"".equals(m.group(0).trim())){
//				 System.out.println("" + m.group(0));
//			 }
			 if(!"".equals(m.group(1).trim())){
				 uppercharacter.append(m.group(1));
			 }
			 if(!"".equals(m.group(2).trim())){
				 lowercharacter.append(m.group(2));
			 }
			 if(!"".equals(m.group(3).trim())){
				 number.append(m.group(3));
			 }
			 if(!"".equals(m.group(4).trim())){
				 chinese.append(m.group(4));
			 }
		 }
		 System.out.println("这是大写字母:" + uppercharacter);
		 System.out.println("这是小写字母:" + lowercharacter);
		 System.out.println("这是数字:" + number);
		 System.out.println("这是汉字:" + chinese);

 输出结果:

这是大写字母:BB
这是小写字母:lacc
这是数字:123
这是汉字:我你你你

你可能感兴趣的:(java)