正则表达式



就是一个模式串,常用于判断字符串是事匹配指定的模式

[abc] 匹配abc中的一个,要么是a,要么是b,要么是c

. 任意字符

d 数字

s 空白字符

w 单词字符[a-zA-Z0-9_]

X? 0次或1次

X* 任意次

X+ 至少1次

X{n} 正好n次

X{n,} 至少n次

X{n,m} 至少n次,最多m次


使用

	//1)matches() 判断字符串是否匹配正则表达式的格式
		String email = "g123456h@163.com";
		//判断字符串是否是邮箱的格式
		String pattern = "\w{6,}@\w{2,}\.(com|net|cn)";
		System.out.println( email.matches(pattern) );
		//判断用户名中必须包含字母与数字,并且要求6位以上
		
		//2)
		String text = "北京1234北京节点";
		text = text.replaceAll("\d", "*");
		System.out.println( text );
		
		//3)split()字符串分隔
		text = "Good good study,day           day up!";
		//把字符串中的单词分离出来, 英文单词之间使用空格 , tab, 英文标点符号
		String[] words = text.split("[\s,.!?]+");
		for (String string : words) {
			System.out.println( string);
		}
		text = "name:lisi,age:18;name:wangwu,age:20;name:feifei,age:28";
		//把字符串中人的信息分离出来,创建Person对象, 把这个三人的信息保存到数组中
		//创建Person类,包括姓名与年龄两个字段
		//把字符串中的信息分离出来 , split("[:,;]");
		//	[name,lisi,age,18,name,wangwu,age,20,name,feifei,age,28]
		//Person  [] personsss = new Person[3];

检验账号密码格式

Scanner c = new Scanner(System.in);
System.out.println("请输入密码");
String pwd = c.next();
while (!pwd.matches("(?![0-9]+$)(?![a-zA-Z]+$)\w{6,}")) {
    System.out.println("密码格式不正确,必须包含字母和数字,要求6位以上");
    pwd = c.next();
}
原文地址:https://www.cnblogs.com/huochemeiyouhuo/p/12540416.html