掌握這些表達式,可以讓我們少寫10000行代碼

每天分享職場生活、職場攻略、領導同事相處技巧和創業資源

作為一名軟件開發人員,如果能彙總一些常用工具類,對我們平時的開發效率是有很大的幫助。這樣我們能抽出更多的時間,研究新技術,升職加薪不再遙遠。

更重要的是,還沒有對象,我們有更多的時間找對象,有對象的,我們有更多的時間陪另一半,這樣美好的愛情指日可待。生活沒必要那麼苟且,也應有詩和遠方。

今天整理一些日常常用的正則表達式,希望對你學習有幫助。

數字的正則表達式

  1. 數字:^[0-9]*$

  2. n位的數字:^\d{n}$

  3. 至少n位的數字:^\d{n,}$

  4. m-n位的數字:^\d{m,n}$

  5. 零和非零開頭的數字:^(0|[1-9][0-9]*)$

  6. 非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(.[0-9]{1,2})?$

  7. 帶1-2位小數的正數或負數:^(\-)?\d+(\.\d{1,2})?$

  8. 正數、負數、和小數:^(\-|\+)?\d+(\.\d+)?$

字符的正則表達式

  1. 漢字:^[\\u4e00-\\u9fa5]{0,}$

  2. 英文和數字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$

  3. 長度為3-20的所有字符:^.{3,20}$

  4. 由26個英文字母組成的字符串:^[A-Za-z]+$

  5. 由26個大寫英文字母組成的字符串:^[A-Z]+$

  6. 由26個小寫英文字母組成的字符串:^[a-z]+$

  7. 由數字和26個英文字母組成的字符串:^[A-Za-z0-9]+$

  8. 由數字、26個英文字母或者下劃線組成的字符串:^\w+$ 或 ^\w{3,20}$

  9. 中文、英文、數字包括下劃線:^[\\u4E00-\\u9FA5A-Za-z0-9_]+$

  10. 中文、英文、數字但不包括下劃線等符號:^[\\u4E00-\\u9FA5A-Za-z0-9]+$ 或 ^[\\u4E00-\\u9FA5A-Za-z0-9]{2,20}$

  11. 禁止輸入含有~的字符:[^~\\x22]+

掌握這些表達式,可以讓我們少寫10000行代碼

特殊需求正則表達式

  1. Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

  2. 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?

  3. URL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

  4. 手機號碼:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$

  5. 身份證號:

    15或18位身份證:^\d{15}|\d{18}$

    15位身份證:^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$

    18位身份證:^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$

  6. 短身份證號碼(數字、字母x結尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

  7. 帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

  8. 密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):^[a-zA-Z]\w{5,17}$

  9. 強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字符,長度在8-10之間):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

  10. 日期格式:^\d{4}-\d{1,2}-\d{1,2}

  11. IP地址:\d+\.\d+\.\d+\.\d+

  12. 中文字符的正則表達式:[\\u4e00-\\u9fa5]

小結:

密碼設置時,如果需要對密碼的複雜性進行設置,比如常見的只能包含字母、數字和下劃線,我們一個正則表達式就可以搞定了。

掌握了這些正則表達式,除了對我們開發有幫助,還能幫我們快速查找到信息。比如在Android Studio 開發工具中,我們想查看項目用到了那些IP,我們可以Ctrl+H 查找,輸入\d+\.\d+\.\d+\.\d+ ,確定,這樣就可以匹配到整個項目的IP,不會錯漏了。

[END]


分享到:


相關文章: