今天老师上课交了正则的一些表达式,正则跟我们生活息息相关,比如扣扣登录和手机号码或者一些其他的登录系统,我们要如何判定我们的输入有错或是没错,正则就会教我们如何简单快捷的做到这一点。
这是我总结的今天学到的知识点,分享给大家的一些基础正则。
package review;
public class Demo1 {
public static void main(String[] args){
System.out.println("a".matches("."));
//. 任何字符(与行结束符可能匹配也可能不匹配)
System.out.println("1".matches("\\d"));
// \d 数字:[0-9]
System.out.println("a".matches("\\D"));
// \D 非数字: [^0-9]
System.out.println("a".matches("\\s"));
// \s 空白字符:[ \t\n\x0B\f\r]
System.out.println("a".matches("\\S"));
// \S 非空白字符:[^\s]
System.out.println(".".matches("\\W"));
// \W 非单词字符:[^\w]
System.out.println("a".matches("\\w"));
// \w 单词字符:[a-zA-Z_0-9]
System.out.println("---------预定义字符类--------------");
System.out.println("".matches("b?"));
// X? X,一次或一次也没有
System.out.println("bbbbbb".matches("b*"));
// X* X,零次或多次
System.out.println("aaaaaaaaaaa".matches("a+"));
// X+ X,一次或多次
System.out.println("aa".matches("a{2}"));
// X{n} X,恰好 n 次
System.out.println("aa".matches("a{2,}"));
// X{n,} X,至少 n 次
System.out.println("aa".matches("a{2,3}"));
// X{n,m} X,至少 n 次,但是不超过 m 次
System.out.println("-------- Greedy 数量词------------");
System.out.println("a".matches("[abc]"));
// [abc] a、b 或 c(简单类)
System.out.println("a".matches("[^skjdk]"));
// [^abc] 任何字符,除了 a、b 或 c(否定)
System.out.println("a".matches("[a-zA-Z]"));
// [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
System.out.println("c".matches("[a-u[f-z]]"));
// [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
System.out.println("c".matches("[a-d&&[cd]]"));
// [a-z&&[def]] d、e 或 f(交集)
System.out.println("f".matches("[a-z&&[^e-g]]"));
// [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
System.out.println("a".matches("[a-z&&[^eg]]"));
// [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
System.out.println("------字符类------");
}
}