标签:字符 个数 reg print 针对 转义 演示 log 区别
做帐号判定的时候,如果挨个判断就有点麻烦 。
单个字符判断
String string1 = "[abc]"; //中括号表示单个字符,不能匹配字符串
System.out.println("a".matches(string1)); //true
System.out.println("ab".matches(string1)); //false
String string2 = "[^abc]";//^是取反
System.out.println("a".matches(string2));//false
System.out.println("d".matches(string2));//true
String string3= "[a-zA-Z]";//a-Z 26*2个字符
System.out.println("a".matches(string3));//true
System.out.println("dc".matches(string3));//false
String string4= "[a-c[m-z]]";//a-Z 26*2个字符
System.out.println("a".matches(string4));//true
System.out.println("d".matches(string4));//false
String string5= "[a-z&&[def]]";//a-z 与 def的交集 ,即def
System.out.println("a".matches(string5));//false
System.out.println("d".matches(string5));//true
String string6= "[a-z&&[^def]]";//a-z 与 def取反的交集 ,即除了def
System.out.println("a".matches(string6));//true
System.out.println("d".matches(string6));//false
预定义字符判断
//.表示任意字符 ,一个点表示任意一个字符,两个点代表两个 。和[]区别,[]无论多少都是一个字符
String string1="..";
System.out.println("aa".matches(string1));//true
System.out.println("?".matches(string1));//false
// \d表示0-9 的单个数字,但是\是转义字符,所以需要两个 String string2="\\d";
System.out.println("10".matches(string2));//false
System.out.println("3".matches(string2));//true
// \D表示除了0-9的单个字符
String string3="\\D";
System.out.println("a".matches(string3));//true
System.out.println("3".matches(string3));//false
// \s表示空白字符 \t\n\xOB\f\r
String string4="\\s";
System.out.println(" ".matches(string4));//true
System.out.println("3".matches(string4));//false
// \S表示非空白字符 \t\n\xOB\f\r
String string5="\\S";
System.out.println(" ".matches(string5));//false
System.out.println("3".matches(string5));//true
// \w表示[a-zA-Z0-9] .大写W就不演示了
String string6="\\S";
System.out.println(" ".matches(string6));//false
System.out.println("3".matches(string6));//true
数量次数判断
//?代表一次或者一次也没有,与[]连用就是abc针对单个字符一个或者一个都不出现
String string1="[abc]?";
System.out.println("a".matches(string1));//true
System.out.println("".matches(string1));//true
System.out.println(" ".matches(string1));//false
//*代表0次到多次出现 ,这里可以对字符串进行判断
String string2="[abc]*";
System.out.println("aaaaa".matches(string2));//true
System.out.println("".matches(string2));//true
System.out.println("abcd".matches(string2));//false
System.out.println("abc".matches(string2));//true
//+代表1次到多次出现,可以对字符串判断
String string3="[abc]+";
System.out.println("aaaaa".matches(string3));//true
System.out.println("".matches(string3));//false
System.out.println("abcd".matches(string3));//false
System.out.println("abc".matches(string3));//true
//{n}代表恰好N次 , 还有{n,m} ,至少n次不超过m次,还有{n,} ,至少n次
String string4="[abc]{3}";
System.out.println("abc".matches(string4));//true
System.out.println("a".matches(string4));//false
System.out.println("abcd".matches(string4));//false
字符串切割
String string = "abcd" ;
String regex ="";//拿空格去切割字符串,生成数组
String[] arr =string.split(regex);
for(int i=0;i<string.length();i++){
System.out.println(arr[i]);
} // a b c d
标签:字符 个数 reg print 针对 转义 演示 log 区别
原文地址:http://www.cnblogs.com/lyxin/p/6013234.html