正则表达式(what)
正则表达式是一个字符串,使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表
达式通常被用来检素、替换那些符合某个规则的文本。
正则表达式的使用
String类中的三个方法:
boolean matches(String 正则的规则)
“abc”.matches(“[a]”)匹配成功返回trueString[ ] split(String 正则的规则)
“abc”.split(“a”) 使用规则将字符串进行切割String replaceAll(String 正则的规则)
“abc0123”.replaceAll(“[\d]”,”#”)
按照正则对的规则,替换字符串**
常用的正则表达式
正则表达式 | 含义 | 等价 |
---|---|---|
\. | 表示任意字符 | |
X+ | 一个或多个X | |
X? | 一个或者0个X | |
X{m,n} | 最少m个,最多n个X | |
[a-zA-Z_0-9] | 单词字符 | [\w] |
[0-9] | 数字中的一个字符 | [\d] |
[^0-9] | 非数字 | [\D] |
[0-9]&&[^456] | 除了4,5,6任意数字的一位 |
/*
校验电话号码
[\\d]等价于[0-9]
*/
public static void checkPhone() {
String Phone = "1863213124123213";
boolean b = Phone.matches("1[34578][\\d]{9}");
System.out.println(b);
}
/*
校验邮箱
[a-zA-Z0-9]+ 代表字符和数字 +代表数量不确定,一个或者多个
*/
public static void checkPhone() {
String main = "[email protected]";
boolean b = Phone.matches("[a-zA-Z0-9]+@[a-z0-9]+([\\.][a-z]+)+");
System.out.println(b);
}