正则
一个[]代表一位(字符)没有任何的连接符
[]是一个字符串,使用单个字符串来描述、用来定义匹配规则;
正则表达式通常用来检索、替换那些符合某个规则的文本
字符:x,代表的是字符;\\,把有功能的字符转成没有功能的字符;
\n换行符;\r回车符;[0-9];[a-z];[A-Z];
.代表任意字符,加上\\就是普通的.
正则表达式:
判断的规则和被判断的内容都是字符串;
判断是符合规则:boolean 变量名=变量名.matches(判断规则);
拆分规则:.split();
因为拆分出来的返回值是数组类型的所以需要String[]来接;String[] 变量名=变量名.split(拆分规则);因为接收的数组所以需要遍历打印
字符替换:.replaceALL();
String 变量名=变量名.replaceALL(替换规则,"替换的内容");
public class Demo02 {
public static void main(String[] args) {
/*
* 1:要求必须是5-15位数字
2:0不能开头
*/
String stra="1141531624";
//描述规则
String regex="[1-9][0-9]{4,14}";
//判断
boolean flag=stra.matches(regex);
System.out.println(flag);
/*校验手机号码
1:要求为11位数字
2:第1位为1,第2位为3、4、5、7、8中的一个,后面9位为0到9之间的任意数字。
代码演示:*/
String phon="13845678591";
String regexa="1[34578][0-9]{9}";
System.out.println(phon.matches(regexa));
//进行叠词切割
String str="192.168.171";
String regexb="\\.";
String[] num=str.split(regexb);
for(int i=0;i<num.length;i++) {
System.out.println(num[i]);
}
//替换
String strr="sdfg12hjkl445lk74jh";
String regexc="[0-9]+";//+
String s=strr.replaceAll(regexc,"*");
System.out.println(s);
//邮箱验证
String em="1156245248@qq.com";
String yx="[A-Za-z_1-9]+@[0-9A-Za-z]+(\\.[a-zA-Z]+)+";
System.out.println(em.matches(yx));
}
}