在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

開發(fā)中常用的一些正則表達(dá)式的匯總

馬哥Linux運(yùn)維 ? 2018-02-08 14:41 ? 次閱讀

很多不太懂正則的朋友,在遇到需要用正則校驗(yàn)數(shù)據(jù)時(shí),往往是在網(wǎng)上去找很久,結(jié)果找來的還是不很符合要求。所以我最近把開發(fā)中常用的一些正則表達(dá)式整理了一下,包括校驗(yàn)數(shù)字、字符、一些特殊的需求等等。給自己留個(gè)底,也給朋友們做個(gè)參考。

一、校驗(yàn)數(shù)字的表達(dá)式

數(shù)字:^[0-9]*$

n位的數(shù)字:^d{n}$

至少n位的數(shù)字:^d{n,}$

m-n位的數(shù)字:^d{m,n}$

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

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

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

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

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

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

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

非零的負(fù)整數(shù):^-[1-9][]0-9″*$ 或 ^-[1-9]d*$

非負(fù)整數(shù):^d+$ 或 ^[1-9]d*|0$

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

非負(fù)浮點(diǎn)數(shù):^d+(.d+)?$ 或 ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$

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

正浮點(diǎn)數(shù):^[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]*))$

負(fù)浮點(diǎn)數(shù):^-([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]*)))$

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

二、校驗(yàn)字符的表達(dá)式

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

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

長(zhǎng)度為3-20的所有字符:^.{3,20}$

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

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

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

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

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

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

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

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

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

三、特殊需求表達(dá)式

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-./?%&=]*)?$

手機(jī)號(hào)碼:^(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}$

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

國內(nèi)電話號(hào)碼(0511-4405222、021-87888822):d{3}-d{8}|d{4}-d{7}

身份證號(hào)(15位、18位數(shù)字):^d{15}|d{18}$

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

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

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

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

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

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

一個(gè)月的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]*$

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

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

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

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

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

這樣就允許用戶只寫一位小數(shù)。下面我們?cè)摽紤]數(shù)字中的逗號(hào)了,我們可以這樣:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$

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

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

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

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

雙字節(jié)字符:[^-?] (包括漢字在內(nèi),可以用來計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1))

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

HTML標(biāo)記的正則表達(dá)式:<(S*?)[^>]*>.*?|<.*? /> (網(wǎng)上流傳的版本太糟糕,上面這個(gè)也僅僅能部分,對(duì)于復(fù)雜的嵌套標(biāo)記依舊無能為力)

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

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:最全的常用正則表達(dá)式大全

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是正則表達(dá)式?正則表達(dá)式如何工作?哪些語法規(guī)則適用正則表達(dá)式?

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

    shell正則表達(dá)式學(xué)習(xí)

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

    正則表達(dá)式在Vivado約束文件中的應(yīng)用

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

    有哪幾種常用的編程語言使用正則表達(dá)式的經(jīng)典實(shí)例?

    有哪幾種常用的編程語言使用正則表達(dá)式的經(jīng)典實(shí)例?如何使用正則表達(dá)式來解決性能不佳、誤報(bào)、漏報(bào)等常見的錯(cuò)誤以及完成一些常見的任務(wù)?如何避免語言特定的陷阱?如何利用實(shí)例解決方案庫來解決實(shí)踐
    發(fā)表于 06-21 07:21

    正則表達(dá)式以及實(shí)用的匹配規(guī)則概述

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

    深入淺出boost正則表達(dá)式

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

    精通正則表達(dá)式

    詳細(xì)的快速正則表達(dá)式的查詢電子書,簡(jiǎn)單而豐富
    發(fā)表于 05-16 18:04 ?5次下載

    快速入門IPv6和正則表達(dá)式

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

    Python正則表達(dá)式的學(xué)習(xí)指南

    本文介紹了Python對(duì)于正則表達(dá)式的支持,包括正則表達(dá)式基礎(chǔ)以及Python正則表達(dá)式標(biāo)準(zhǔn)庫的完整介紹及使用示例。本文的內(nèi)容不包括如何編寫高效的正則表達(dá)式、如何優(yōu)化
    發(fā)表于 09-15 08:00 ?0次下載
    Python<b class='flag-5'>正則表達(dá)式</b>的學(xué)習(xí)指南

    Python正則表達(dá)式指南

    本文介紹了Python對(duì)于正則表達(dá)式的支持,包括正則表達(dá)式基礎(chǔ)以及Python正則表達(dá)式標(biāo)準(zhǔn)庫的完整介紹及使用示例。本文的內(nèi)容不包括如何編寫高效的正則表達(dá)式、如何優(yōu)化
    發(fā)表于 03-26 09:13 ?10次下載
    Python<b class='flag-5'>正則表達(dá)式</b>指南

    python正則表達(dá)式中的常用函數(shù)

    編譯正則表達(dá)式模式,返回個(gè)正則對(duì)象的模式。(可以把那些常用正則表達(dá)式編譯成正則表達(dá)式對(duì)象,這
    的頭像 發(fā)表于 03-18 16:12 ?1942次閱讀

    Linux入門之正則表達(dá)式

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

    shell腳本基礎(chǔ):正則表達(dá)式grep

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

    Python中的正則表達(dá)式

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

    linux正則表達(dá)式匹配字符串

    在Linux操作系統(tǒng)中,正則表達(dá)式種強(qiáng)大的模式匹配工具,它可以用于在文本中查找、替換和篩選特定的字符串。準(zhǔn)確掌握正則表達(dá)式的語法和常見應(yīng)用,對(duì)于Linux系統(tǒng)的管理員和開發(fā)人員來說
    的頭像 發(fā)表于 11-23 10:26 ?933次閱讀
    主站蜘蛛池模板: 天堂网在线www最新版在线 | 色亚洲欧美 | 亚洲狠狠综合久久 | 四虎影院新地址 | 97色伦人人| 亚洲一区二区三区高清视频 | 性生交大片免费一级 | 亚洲影院手机版777点击进入影院 | 老色批影院 | 国产三级三级三级 | 国产福利午夜 | 天天舔 | 免费黄色在线视频 | 日本a级片视频 | 日日干狠狠操 | 亚洲一区二区三区免费观看 | 亚洲男人的天堂在线观看 | 毛片一区二区三区 | 久久99精品久久久久久久不卡 | 天天干网站 | 黄页网址免费观看18网站 | 四虎永久在线观看视频精品 | 欧美三级成人 | 欧美69视频在线 | 老师下面好湿好紧好滑好想要 | 久久久久久国产精品免费免费 | 毛片网在线| free chinese 国产精品 | 欧美色视频超清在线观看 | 国产成人啪精品午夜在线播放 | 欧美特黄三级在线观看 | 午夜精品在线视频 | 四虎国产精品永久在线播放 | 国产1024一区二区你懂的 | 狠狠五月深爱婷婷网免费 | 午夜精品久久久久久久 | 禁网站在线观看免费视频 | 色综合天天综一个色天天综合网 | 国产热re99久久6国产精品 | 在线免费色视频 | 婷婷中文字幕 |