色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

開發中常用的一些正則表達式的匯總

馬哥Linux運維 ? 2018-02-08 14:41 ? 次閱讀

很多不太懂正則的朋友,在遇到需要用正則校驗數據時,往往是在網上去找很久,結果找來的還是不很符合要求。所以我最近把開發中常用的一些正則表達式整理了一下,包括校驗數字、字符、一些特殊的需求等等。給自己留個底,也給朋友們做個參考。

一、校驗數字的表達式

數字:^[0-9]*$

n位的數字:^d{n}$

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

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

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

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

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

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

有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$

有1~3位小數的正實數:^[0-9]+(.[0-9]{1,3})?$

非零的正整數:^[1-9]d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^+?[1-9][0-9]*$

非零的負整數:^-[1-9][]0-9″*$ 或 ^-[1-9]d*$

非負整數:^d+$ 或 ^[1-9]d*|0$

非正整數:^-[1-9]d*|0$ 或 ^((-d+)|(0+))$

非負浮點數:^d+(.d+)?$ 或 ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$

非正浮點數:^((-d+(.d+)?)|(0+(.0+)?))$ 或 ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$

正浮點數:^[1-9]d*.d*|0.d*[1-9]d*$ 或 ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$

負浮點數:^-([1-9]d*.d*|0.d*[1-9]d*)$ 或 ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$

浮點數:^(-?d+)(.d+)?$ 或 ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$

二、校驗字符的表達式

漢字:^[一-龥]{0,}$

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

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

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

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

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

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

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

中文、英文、數字包括下劃線:^[一-龥A-Za-z0-9_]+$

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

可以輸入含有^%&’,;=?$”等字符:[^%&',;=?$"]+

禁止輸入含有~的字符:[^~"]+

三、特殊需求表達式

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

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

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

手機號碼:^(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}$

電話號碼(“XXX-XXXXXXX”、”XXXX-XXXXXXXX”、”XXX-XXXXXXX”、”XXX-XXXXXXXX”、”XXXXXXX”和”XXXXXXXX):^($$d{3,4}-)|d{3.4}-)?d{7,8}$

國內電話號碼(0511-4405222、021-87888822):d{3}-d{8}|d{4}-d{7}

身份證號(15位、18位數字):^d{15}|d{18}$

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

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

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

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

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

一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])$

一個月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$

錢的輸入格式:

有四種錢的表示形式我們可以接受:”10000.00″ 和 “10,000.00″, 和沒有 “分” 的 “10000″ 和 “10,000″:^[1-9][0-9]*$

這表示任意一個不以0開頭的數字,但是,這也意味著一個字符”0″不通過,所以我們采用下面的形式:^(0|[1-9][0-9]*)$

一個0或者一個不以0開頭的數字.我們還可以允許開頭有一個負號:^(0|-?[1-9][0-9]*)$

這表示一個0或者一個可能為負的開頭不為0的數字.讓用戶以0開頭好了.把負號的也去掉,因為錢總不能是負的吧.下面我們要加的是說明可能的小數部分:^[0-9]+(.[0-9]+)?$

必須說明的是,小數點后面至少應該有1位數,所以”10.”是不通過的,但是 “10″ 和 “10.2″ 是通過的:^[0-9]+(.[0-9]{2})?$

這樣我們規定小數點后面必須有兩位,如果你認為太苛刻了,可以這樣:^[0-9]+(.[0-9]{1,2})?$

這樣就允許用戶只寫一位小數。下面我們該考慮數字中的逗號了,我們可以這樣:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$

1到3個數字,后面跟著任意個 逗號+3個數字,逗號成為可選,而不是必須:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$

備注:這就是最終結果了,別忘了”+”可以用”*”替代。如果你覺得空字符串也可以接受的話(奇怪,為什么?)最后,別忘了在用函數時去掉去掉那個反斜杠,一般的錯誤都在這里

xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+.[x|X][m|M][l|L]$

中文字符的正則表達式:[一-龥]

雙字節字符:[^-?] (包括漢字在內,可以用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1))

空白行的正則表達式:s* (可以用來刪除空白行)

HTML標記的正則表達式:<(S*?)[^>]*>.*?|<.*? /> (網上流傳的版本太糟糕,上面這個也僅僅能部分,對于復雜的嵌套標記依舊無能為力)

首尾空白字符的正則表達式:^s*|s*$或(^s*)|(s*$) (可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式)

騰訊QQ號:[1-9][0-9]{4,} (騰訊QQ號從10000開始)

中國郵政編碼:[1-9]d{5}(?!d) (中國郵政編碼為6位數字)

IP地址:d+.d+.d+.d+ (提取IP地址時有用)

IP地址:((?:(?:25[0-5]|2[0-4]d|[01]?d?d).){3}(?:25[0-5]|2[0-4]d|[01]?d?d)) (由@飛龍三少 提供,感謝共享)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 正則表達式
    +關注

    關注

    0

    文章

    27

    瀏覽量

    3534

原文標題:最全的常用正則表達式大全

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是正則表達式正則表達式如何工作?哪些語法規則適用正則表達式

    正則表達式又稱規則表達式(Regular Expression,在代碼中常簡寫為 regex、regexp 或 RE),是種用于匹配、查找、替換文本的強大工具。它能夠以特定的模式匹配
    的頭像 發表于 11-03 14:41 ?3878次閱讀
    什么是<b class='flag-5'>正則表達式</b>?<b class='flag-5'>正則表達式</b>如何工作?哪些語法規則適用<b class='flag-5'>正則表達式</b>?

    shell正則表達式學習

    正則表達式在計算機科學中,是指個用來描述或者匹配系列符合某個句法規則的字符串的單個字符串。在很多文本編輯器或其他工具里,正則表達式通常被用來檢索和/或替換那些符合某個模式的文本內容
    發表于 07-25 17:18

    正則表達式在Vivado約束文件中的應用

    文件中匹配目標的時候,在可行的情況下更傾向于使用正則表達式。本文就介紹下我常使用的正則表達式一些在Vivado中應用的特殊之處,同時也有個別自己尚未解決的問題。
    發表于 01-26 07:03

    有哪幾種常用的編程語言使用正則表達式的經典實例?

    有哪幾種常用的編程語言使用正則表達式的經典實例?如何使用正則表達式來解決性能不佳、誤報、漏報等常見的錯誤以及完成一些常見的任務?如何避免語言特定的陷阱?如何利用實例解決方案庫來解決實踐
    發表于 06-21 07:21

    正則表達式以及實用的匹配規則概述

    的字符串。正則表達式的搜索和匹配功能非常強大,以至于幾乎所有的腳本語言(比如Python, Perl,JavaScript),Java等高級編程語言,甚至grep等一些Linux命令,都支持正則表達式
    發表于 09-16 14:23

    深入淺出boost正則表達式

    什么是正則表達式正則表達式種用來描述定數量文本的模式。Regex代表Regular Express. 如果您不知道什么是正則表達式
    發表于 09-08 18:09 ?9次下載

    精通正則表達式

    詳細的快速正則表達式的查詢電子書,簡單而豐富
    發表于 05-16 18:04 ?5次下載

    快速入門IPv6和正則表達式

    對于日常開發中只接觸IPv4,并沒有深入研究過正則表達式開發者,面對IPv6和正則表達式,容易產生畏懼心理,覺得是兩座難以翻越的大山。本文通過一些
    的頭像 發表于 03-30 09:31 ?9055次閱讀
    快速入門IPv6和<b class='flag-5'>正則表達式</b>

    Python正則表達式的學習指南

    本文介紹了Python對于正則表達式的支持,包括正則表達式基礎以及Python正則表達式標準庫的完整介紹及使用示例。本文的內容不包括如何編寫高效的正則表達式、如何優化
    發表于 09-15 08:00 ?0次下載
    Python<b class='flag-5'>正則表達式</b>的學習指南

    Python正則表達式指南

    本文介紹了Python對于正則表達式的支持,包括正則表達式基礎以及Python正則表達式標準庫的完整介紹及使用示例。本文的內容不包括如何編寫高效的正則表達式、如何優化
    發表于 03-26 09:13 ?10次下載
    Python<b class='flag-5'>正則表達式</b>指南

    python正則表達式中的常用函數

    編譯正則表達式模式,返回正則對象的模式。(可以把那些常用正則表達式編譯成正則表達式對象,這
    的頭像 發表于 03-18 16:12 ?1828次閱讀

    Linux入門之正則表達式

    一些約定好的匹配規則,但由于規則較多,可能比較容易忘記。 本文會先整理出所有的正則表達式以及其含義,接下來會利用grep命令,詳細介紹每種正則表達式的使用方式,并給出案例。
    的頭像 發表于 05-12 15:31 ?918次閱讀
    Linux入門之<b class='flag-5'>正則表達式</b>

    shell腳本基礎:正則表達式grep

    在Linux上有許多命令可以使用正則表達式,其中最常見的是grep命令和sed命令。正則表達式有多種類型,每種類型中可以使用的元字符類型不同。最常見的是基本正則表達式和擴展正則表達式
    的頭像 發表于 05-29 09:29 ?1296次閱讀
    shell腳本基礎:<b class='flag-5'>正則表達式</b>grep

    Python中的正則表達式

    類字符串的特征,這樣我們就可以快速、高效地處理大量的文本數據。 基礎語法 在Python中,使用re模塊來操作正則表達式。re模塊提供了很多函數,用于對字符串進行正則匹配和替換。以下是一些常用
    的頭像 發表于 06-21 16:52 ?1017次閱讀

    linux正則表達式匹配字符串

    在Linux操作系統中,正則表達式種強大的模式匹配工具,它可以用于在文本中查找、替換和篩選特定的字符串。準確掌握正則表達式的語法和常見應用,對于Linux系統的管理員和開發人員來說
    的頭像 發表于 11-23 10:26 ?761次閱讀
    主站蜘蛛池模板: xx在线观看| 俄罗斯性xxxx| 国产免费久久爱久久啪| 日本19xxxx撤尿| 99视频免费在线| 泡妞高手在都市完整版视频免费| 97无码欧美熟妇人妻蜜桃天美| 久久re这里视频只精品首页| 一级性生活毛片| 美女被日出水| 99亚洲精品| 日韩亚洲人成在线| 国产精品AV色欲蜜臀在线| 新版孕妇bbwbbwbbw| 韩剧19禁啪啪无遮挡大尺度| 一道本在线伊人蕉无码| 久久日本片精品AAAAA国产| 511麻豆视传媒精品AV| 欧美精品久久久久性色AV苍井| 波多野结衣网站www| 无颜之月5集全免费看无删除| 狠狠躁天天躁小说| 中文字幕亚洲无线码一区| 嫩交18xxxx| 嘟嘟嘟在线视频免费观看高清中文| 天美传媒在线观看完整高清| 嘿嘿视频在线观看 成人| 最新无码国产在线视频2020| 妻子的秘密HD观看| 国产精品久久免费视频| 伊人久久综合影院首页| 暖暖日本免费播放| 国产精品高清免费网站| 永久免费在线看mv| 日本无码色哟哟婷婷最新网站| 国产三级级在线电影| 在线亚洲精品福利网址导航| 日本xxxx69动漫| 久久99这里只有精品| 爱很烂qvod| 亚洲色t图|