黑馬程式員:JavaRegex校正郵箱和手機號

來源:互聯網
上載者:User

 -------
android培訓、java培訓、期待與您交流!
----------

Regex:其實是用來操作字串的一些規則。

好處:正則的出現,對字串的複雜操作變得更為簡單。

特點:將對字串操作的代碼用一些符號來表示。只要使用了指定符號,就可以調用底層的代碼對字串進行操作。符號的出現,簡化了代碼的書寫。

弊端:符號的出現雖然簡化了書寫,但是卻降低了閱讀性。

其實更多是用正則解決字串操作的問題。

組:用小括弧標示,每定義一個小括弧,就是一個組,而且有自動編號,從1開始。

只要使用組,對應的數字就是使用該組的內容。別忘了,數組要加\\。

(aaa(wwww(ccc))(eee))技巧,從左括弧開始數即可。有幾個左括弧就是幾組。

常見操作:

1,匹配:其實用的就是String類中的matches方法。

String reg = "[1-9][0-9]{4,14}";

boolean b = qq.matches(reg);//將正則和字串關聯對字串進行匹配。

2,切割:其實用的就是String類中的split方法。

3,替換:其實用的就是String類中的replaceAll();

4,擷取:

    1),先要將Regex編譯成正則對象。使用的是Pattern中靜態方法 compile(regex);

    2),通過Pattern對象擷取Matcher對象。

Pattern用於描述Regex,可以對Regex進行解析。

而將規則操作字串,需要從新封裝到匹配器對象Matcher中。

然後使用Matcher對象的方法來操作字串。

如何擷取匹配器對象呢?

通過Pattern對象中的matcher方法。該方法可以正則規則和字串想關聯。並返回匹配器對象。

    3),使用Matcher對象中的方法即可對字串進行各種正則操作。


下面是關於Regex的java例子:

import java.util.regex.Matcher;  import java.util.regex.Pattern;  public class CheckMobileAndEmail {      /**        * 驗證郵箱地址是否正確        * @param email        * @return        */       public static boolean checkEmail(String email){        boolean flag = false;        try{         String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";         Pattern regex = Pattern.compile(check);         Matcher matcher = regex.matcher(email);         flag = matcher.matches();        }catch(Exception e){         flag = false;        }                return flag;       }       /**        * 驗證手機號碼        * @param mobiles        * @return  [0-9]{5,9}        */       public static boolean isMobileNO(String mobiles){        boolean flag = false;        try{         Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");         Matcher m = p.matcher(mobiles);         flag = m.matches();        }catch(Exception e){         flag = false;        }        return flag;       }              public static boolean isNum(String number){            boolean flag = false;            try{             Pattern p = Pattern.compile("^[0-9]{5}$");             Matcher m = p.matcher(number);             flag = m.matches();            }catch(Exception e){             flag = false;            }            return flag;           }  }  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.