\\d代表数字 api解释 :X{n,m} X,至少 n 次,但是不超过 m 次
p("214523145234532".matches("\\d{3,100}"));//true
p("214523145234532".matches("\\d{3,10}"));//false
p("1234567890".matches("\\d{10}"));//true X{n} X,恰好 n 次
/**
* 看看下面两行,可以得出结论,匹配规则是整体匹配而不是部分匹配
* 所以第一个错,第二个写法正确
*/
p("1234567abc890".matches("\\d{7}"));//false.
p("1234567abc890".matches("\\d{7}\\w{3}\\d{3}"));//true
// 注意.是特殊字符需要\\.
p("192.168.0.aaa".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));//false最后的是字符不是数字,所以错误。改成下面则true
p("192.168.0.aaa".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\w{1,3}"));//true
p("192".matches("[0-2][0-9][0-9]"));//true意思是第一个数字是0到2之间,第二个0-9,第三个0-9
p("392".matches("[0-2][0-9][0-9]"));//false
p("a".matches("[abc]"));//true说明[abc] a、b 或 c(简单类)
p("z".matches("[abc]"));//false
p("a".matches("[^abc]"));//false [^abc] 任何一个字符(注意是一个,看下面的程序结果就可以知道了),除了 a、b 或 c(否定)
p("b".matches("[^abc]"));//false
p("c".matches("[^abc]"));//false
p("x".matches("[^abc]"));//true
p("xg".matches("[^abc]"));//false
p("A".matches("[a-zA-Z]"));//true 说明a 到 z 或 A 到 Z,两头的字母包括在内(范围)
p("A".matches("[a-z]|[A-Z]"));//true解释同上
p("A".matches("[a-z[A-Z]]"));//true同上
p("R".matches("[A-Z&&[RFG]]"));//true意思为A-Z且在RFG里面之一
p("A".matches("[A-Z&&[RFG]]"));//false
public static void p(Object o) {
System.out.println(o);
}