正则表达式的用法
//String类和正则表达式相关的方法
//boolean matches(String 正则的规则)
//“abc”.matches("[a]")匹配成功返回true
//String[] spilt(String 正则的规则)
//“abc”.split(“a”)使用规则将字符串进行切割
//String replaceAll(String 正则规则,String 字符串);
//“abc0123”.replaceAll("[\d]",“a”)
//[^abc] 意思是除了a,b,或者c以外的字母
// //d代表任何一个数字,//D代表任何一个非数字在这
在这里插入代码片
public class lei { public static void main(String[] args) { jiancha(); jianchasouji(); splitl() ; replace(); check(); }
// 检查qq号码是否合法
// 0不能开头
// 位数最少5位最多10位
// 使用正则规则做
public static void jiancha() {
String qq="123456";
String regex="[1-9][0-9]{4,9}";//这里的4代表0到9至少出现4次,9代表0到9最多出现9次
boolean b=qq.matches(regex);
System.out.println(b);
}
// 检查手机号是否合法
// 1开头,之后可以是34578 之后都是0-9固定11位
public static void jianchasouji() {
String hao="7487467826";
String regex="[1][34578][0-9]{9}";
boolean b=hao.matches(regex);
System.out.println(b);
}
//String 类方法split对字符串进行切割
// 12-25-36-75 对字符串进行切割
public static void splitl() {
String s="-";
String SC="12-25-36-75";
String[] a=SC.split(s);
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
//如果直接空格的话,是错的,要后面加一个加号,代表很多个空格作为分隔符
String m=" +";
String S="12 25 36 75";
String[] b=S.split(m);
for(int j=0;j<a.length;j++) {
System.out.println(b[j]);
}
//不可只是一个".",因为他代表任意一个字符,代表切割所以的,会切碎
String p="\\.";
String St="12.25.36.75";
String[] q=St.split(p);
for(int n=0;n<q.length;n++) {
System.out.println(q[n]);
}
}
public static void replace() {
//把里面的数字替换掉
//helow987world897abc
String sc="hello987world867865agk";
String sc1=sc.replaceAll("[0-9]+"," ");
System.out.println(sc1);
}
//检查邮箱地址是否合理
/*
* 123456F@qq.com
* mymail@sina.com
* nimail@163.com
* wodemail@yahoo.com.cn
* @:前 数字字母_个数不少于一个
* @:后面 数字字母 个数不少于1个
* .:后面字母
*/
public static void check() {
String email="abc123@sina.com";
boolean b=email.matches("[a-zA-Z0-9_]+@[a-z0-9]+(\\.[a-zA-Z_0-9]+)+");
System.out.println(b);
}
}