JAVA--正则表达式
正则
一个[]代表一位(字符)没有任何的连接符
[]是一个字符串,使用单个字符串来描述、用来定义匹配规则;
正则表达式通常用来检索、替换那些符合某个规则的文本
字符: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)); } }