Java基礎_正則表達

來源:互聯網
上載者:User

標籤:字元   個數   reg   print   針對   轉義   示範   log   區別   

做帳號判定的時候,如果挨個判斷就有點麻煩 。

 

單個字元判斷

String string1 = "[abc]"; //中括弧表示單個字元,不能匹配字串System.out.println("a".matches(string1)); //trueSystem.out.println("ab".matches(string1)); //falseString string2 = "[^abc]";//^是取反System.out.println("a".matches(string2));//falseSystem.out.println("d".matches(string2));//trueString string3= "[a-zA-Z]";//a-Z 26*2個字元System.out.println("a".matches(string3));//trueSystem.out.println("dc".matches(string3));//falseString string4= "[a-c[m-z]]";//a-Z 26*2個字元System.out.println("a".matches(string4));//trueSystem.out.println("d".matches(string4));//falseString string5= "[a-z&&[def]]";//a-z 與 def的交集 ,即defSystem.out.println("a".matches(string5));//falseSystem.out.println("d".matches(string5));//trueString string6= "[a-z&&[^def]]";//a-z 與 def取反的交集 ,即除了defSystem.out.println("a".matches(string6));//trueSystem.out.println("d".matches(string6));//false

 

預定義字元判斷

//.表示任一字元 ,一個點表示任意一個字元,兩個點代表兩個 。和[]區別,[]無論多少都是一個字元String string1="..";System.out.println("aa".matches(string1));//trueSystem.out.println("?".matches(string1));//false//  \d表示0-9 的單個數字,但是\是逸出字元,所以需要兩個String string2="\\d";System.out.println("10".matches(string2));//falseSystem.out.println("3".matches(string2));//true//  \D表示除了0-9的單個字元String string3="\\D";System.out.println("a".matches(string3));//trueSystem.out.println("3".matches(string3));//false//  \s表示空白字元  \t\n\xOB\f\rString string4="\\s";System.out.println(" ".matches(string4));//trueSystem.out.println("3".matches(string4));//false//  \S表示非空白字元  \t\n\xOB\f\rString string5="\\S";System.out.println(" ".matches(string5));//falseSystem.out.println("3".matches(string5));//true//  \w表示[a-zA-Z0-9].大寫W就不示範了String string6="\\S";System.out.println(" ".matches(string6));//falseSystem.out.println("3".matches(string6));//true

 

數量次數判斷

//?代表一次或者一次也沒有,與[]連用就是abc針對單個字元一個或者一個都不出現String string1="[abc]?";System.out.println("a".matches(string1));//trueSystem.out.println("".matches(string1));//trueSystem.out.println(" ".matches(string1));//false//*代表0次到多次出現,這裡可以對字串進行判斷String string2="[abc]*";System.out.println("aaaaa".matches(string2));//true System.out.println("".matches(string2));//trueSystem.out.println("abcd".matches(string2));//falseSystem.out.println("abc".matches(string2));//true//+代表1次到多次出現,可以對字串判斷String string3="[abc]+";System.out.println("aaaaa".matches(string3));//trueSystem.out.println("".matches(string3));//falseSystem.out.println("abcd".matches(string3));//falseSystem.out.println("abc".matches(string3));//true//{n}代表恰好N次 , 還有{n,m} ,至少n次不超過m次,還有{n,} ,至少n次String string4="[abc]{3}";System.out.println("abc".matches(string4));//trueSystem.out.println("a".matches(string4));//falseSystem.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 

 

Java基礎_正則表達

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.