正则表达式:正则表达式是用于描述一组字符串特征的模式,用于匹配特定的字符串
1.字符类
1.1 [abc] 表示匹配a或者b或者c
1.2 [a-z] 表示匹配a至z中的小写字母
1.3 [A-Z] 表示匹配A至Z中的大写字母
1.4 [a-zA-Z] 表示匹配字母
1.5 [a-d[m-p]] 表示匹配a-d与m-p并集的字母
1.6[a-z&&[def]] 表示匹配a-z与def的交集
1.7[a-z&&[^bc]] 表示匹配a-z中减去bc的剩余字符
1.8[a-z&&[c-e]] 表示匹配a-z中减去c-e中的剩余字符
2.预定义字符
2.1 \d 表示匹配0-9]中的数字
2.2 \D 表示匹配[^0-9]即除过0-9的字符
2.3 \s 表示匹配空白字符(如空格)
2.4 \S 表示匹配非空白字符
2.5 \w 表示匹配含有[a-zA-Z_[0-9]]字符
2.6 \W 表示匹配[^\w]除过\w之外的字符
代码实现:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ZhengZe {
public static void main(String[] args) {
//定义一个规则
Pattern pattern=Pattern.compile("a*b");
//对其输入内容
Matcher matcher=pattern.matcher("aaaaaa");
//进行匹配
boolean b1=matcher.matches();
System.out.println(b1);
//第二种
String s="abc";
boolean b2=s.matches("a*b");
System.out.println(b2);
String s1="123456";
System.out.println(s1.matches("\\d+"));
System.out.println(s1.matches("\\d{6}"));
String qq="2869422516";
// System.out.println(qq.matches("[1-9]\\d{5,9}"));
String phone="18392905109";
System.out.println(phone.matches("[135789]\\d{10}"));
String email="xr2869422516@qq.com.cn";
System.out.println(email.matches("\\w{6,18}@\\w{2,5}\\.(com|com\\.cn)"));
}
}