学习记录
正则表达式
概念:正则表达式是一个字符串,用来定义匹配规则,匹配一系列符合某个句法规则的字符串。
匹配规则:
字符的取值范围
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);

浙公网安备 33010602011771号