利用正则表达式简单判断账号密码等

利用正则表达式简单判断账号密码等

1、判断账号必须为英文,不能有其他符号,限制长度范围6-12之间

//(pattern\compile\CASE_INSENSITIVE\Matcher\find()\group())
	Parrern pp=Pattern.compile("^[a-z]{6,12}$",Pattern.CASE_INSENSITIVE\trim);
	Matcher matcher=pp.matcher("jack".trim());
	System.out.println(matcher.find());

2、判断一个账号名称,必须字母开头,可以有数字,长度必须在6位以上

System.out.println("dafe51sf".matches("^[a-z][a-zA-Z0-9]{5,}$"));

3、要求用户姓名,要么是中文,要么是英文,不可以中英文混合。

System.out.println("".matches("^[\\u4e00-\\u9fa5]+ | [a-zA-Z]+$"));

4、取出字符串中的所有数字

String ss="f564a456aasg5a4s66a3dag";
//  \\d+ 改为  \\d  为一个数字一个数字输出
	Pattern p3= Pattern.compile("\\d+");
	Matcher m3=p3.matcher(ss);
	while(m3.find()) {
    
    
		System.out.println(m3.group());
	}

5、取出字符串中的所有数字并求和

	String sss="f564a456aasg5a4s66a3dag";
	Pattern p4= Pattern.compile("\\d+");
	Matcher m4=p4.matcher(sss);
	int sum=0;
	while(m4.find()) {
    
    
		int num=Integer.valueOf(m4.group());
		sum+=num;
		//System.out.println(m4.group()); 
		//去掉注释就可以输出字符串中所有数字
	}
	System.out.println(sum);

6、字符串中表达式运算:123-45-67+89;

String ssss = "123-45-67+89";
	Pattern ppp=Pattern.compile("[0-9]+|-\\d+");
	Matcher mmm=ppp.matcher(ssss);
	int sum2=0;
	while(mmm.find()) {
    
    
		sum2+=Integer.parseInt(mmm.group());
	}
	System.out.printf("%s=%d",ssss,sum2);

**
7、给出1-9数字组成的字符串,提取并且排列组合加减法得数为100**

public static void main(String[] gars) {
    
    
		 String [] rs=new String[] {
    
    "","+","-"};
		 Random random=new Random();
		 StringBuilder s=new StringBuilder();
		 int n=0;
		 while(true) {
    
    
			 s.append("1");
			 for (int i = 2; i < 9; i++) {
    
    
				s.append(rs[random.nextInt(rs.length)]);
				s.append(i);
			 }
			 s.append("9");
			 if (check(s.toString())) {
    
    
				System.out.printf("%s=100\n",s.toString());
				++n;
			 }
			 s.delete(0, s.length());
			 if (n>=5) 
				break;
			
		 }
	 }
//判断方法
	public static boolean check(String str) {
    
    //返回类型为布尔(boolean)
		//定义变量flag的值为	false
		boolean flag = false;
		//利用正则表达式提取字符串中的数字
		Pattern pp = Pattern.compile("[0-9]+|-\\d+");
		Matcher mm = pp.matcher(str);
		int sum = 0;
		while (mm.find()) {
    
    
			sum += Integer.parseInt(mm.group());
		}
		if (sum == 100)
			flag = true;
		return flag;
	}

猜你喜欢

转载自blog.csdn.net/qq_45844443/article/details/108812922
今日推荐