正则表达式
一、规则
![字符类
二、演示
2.1、字符类
System.out.println("a".matches("[abc]")); //true
System.out.println("ab".matches("[abc]")); //false
System.out.println("ab".matches("[abc][abc]")); //true
System.out.println("ad".matches("[abc]")); //false
注意:一个[]代表一个字符,所以"ab".matches(“[abc]”,虽然ab都在abc这个范围内,“ab”是两个字符,和正则表达式一个字符不符合,所以是false,“ab”.matches(“[abc][abc]”)才是true。
System.out.println("a".matches("[^abc]")); //false
System.out.println("ab".matches("[^abc]")); //false
System.out.println("z".matches("[^abc]")); //true
2.2、预定义字符
System.out.println("s".matches(".")); //true
System.out.println("s".matches("\\D")); //true
System.out.println("sA".matches(".")); //false
这里\D表示非字符,那为什么代码写的是"\D"?其实"“在Java中属于转义字符,因为如果直接输入的是”\D",那么程序就会以为这个"“是转义字符,导致输出的是D,所以多加一个”“,这样输出才是”\D"
2.3、数量词
System.out.println("".matches("a?")); //true
System.out.println("aaaa".matches("a*")); //true
System.out.println("".matches("a+")); //false
System.out.println("aaa".matches("a+")); //true
System.out.println("aaas".matches("a+")); //false
System.out.println("a".matches("a{2,7}")); //false
System.out.println("aa".matches("a{2,7}")); //true
*摘自黑马程序员教程