正则表达式
Posted huochemeiyouhuo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。
就是一个模式串,常用于判断字符串是事匹配指定的模式
[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();
}
以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性