学习记录

正则表达式

概念:正则表达式是一个字符串,用来定义匹配规则,匹配一系列符合某个句法规则的字符串。

匹配规则:

字符的取值范围
1.[abc] : 表示可能是a,可能是b,也可能是c。
2.[^abc]: 表示不是a,b,c中的任意一个
3.[a-zA-Z]: 表示是英文字母
4.[0-9]:表示是数字

字符表示
\d:表示数字
\D:表示非数字
\s:表示由空字符组成,[ \t\n\r\x\f]
\S:表示由非空字符组成,[^\s]
\w:表示字母、数字、下划线,[a-zA-Z0-9_]
\W:表示不是由字母、数字、下划线组成

数量表达式
1.?: 表示出现0次或1次
2.+: 表示出现1次或多次
3.*: 表示出现0次、1次或多次
4.{n}:表示出现n次
5.{n,m}:表示出现n~m次
6.{n,}:表示出现n次或n次以上
实际练习
//描述规则
String reg="[1-9][0-9]{4,14}";
String qq="949978311";
System.out.println(qq.matches(reg));
//11位的手机号码,第1位为1,第2位为3、4、5、7、8中的一个,后面9位为0到9之间的任意数字。
String reg="[1][34578][0-9]{9}";
String phone="13176595219";
System.out.println(phone.matches(reg));
//校验邮箱
String reg2="[a-zA-Z0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
String mail="649978311@qq.com";
System.out.println(mail.matches(reg2));
String str="192.168.1.171";
String reg="\\.";
String[] s=str.split(reg);
for(int i=0;i<s.length;i++){
    System.out.println(s[i]);
}
String str="asfnjafhauiefbjq123134314";
//将字符串中的数字替换为*
String reg="[0-9]+";
String s=str.replaceAll(reg,"*");
System.out.println(s);

 

posted @ 2021-05-13 23:57  王子尧  阅读(83)  评论(0)    收藏  举报