正則表達(dá)式

(一)限定符

1挺尿、?:它前面的字符需要出現(xiàn)0次或1次

例如:used?可以匹配到useused

2椒袍、*:它會(huì)匹配0個(gè)或多個(gè)字符

例如:ab*c可以匹配到ac,abc,abbbbbbc

3扎即、+:它會(huì)匹配一次及以上的字符

例如:ab+c可以匹配abc,abbbc,而不會(huì)匹配ac

4、{}:可以限定匹配的數(shù)量

例如:ab{6}c,則匹配到abbbbbbc,而要限定b的數(shù)量在2到6之間胸蛛,則是ab{2,6}c蝎土,如果只是兩次以上,則省略括號(hào)里的6阵面,寫成ab{2,}c

(二)"或"運(yùn)算符

例如:a (cat|dog)匹配的是a cata dog

(三)字符類

[]:表示里面的內(nèi)容只能取自于它們

例如:[a-z]表示所有小寫的英文字母轻局,[abc]能匹配到abc,aabbcc,abcc,[a-zA-Z]表示所有的英文字母,如果在[]前加上^,表示[]之外的字符

(四)元字符

\d:數(shù)字字符样刷,等同于[0-9]
\w:單詞字符
\s:空白符仑扑,包含Tab和換行符
\D:非數(shù)字字符
\W:非單詞字符
\S:非空白符
.:代表任意字符,不包含換行符
^:匹配行首

例如:^a匹配abv,acccn

$:匹配行尾

例如:a$匹配tea,cba

(五)貪婪與懶惰匹配

貪婪匹配:正則表達(dá)式通常的行為是匹配盡可能多的字符置鼻,比如這個(gè)表達(dá)式:a.*b镇饮,它將會(huì)匹配最長(zhǎng)的以a開始,以b結(jié)束的字符串箕母,如果用它來搜索aabab的話储藐,它會(huì)匹配整個(gè)字符串aabab

懶惰匹配:就是匹配盡可能少的字符俱济,在能使整個(gè)匹配成功的前提下使用最少的重復(fù),只要在它后面加上一個(gè)問號(hào)?即可钙勃,例如a.*?b匹配最短的蛛碌,以a開始,以b結(jié)束的字符串辖源,如果把它應(yīng)用于aabab的話蔚携,它會(huì)匹配aabab,為什么第一個(gè)匹配是aab(第一到第三個(gè)字符)而不是ab(第二到第三個(gè)字符)克饶?簡(jiǎn)單地說酝蜒,因?yàn)檎齽t表達(dá)式有一條比懶惰/貪婪規(guī)則優(yōu)先級(jí)更高的規(guī)則,就是:最先開始的匹配擁有最高的優(yōu)先權(quán)

(六)常用的正則表達(dá)式大全
  1. 數(shù)字:^[0-9]*$
  2. n位的數(shù)字:^\d{n}$
  3. 至少n位的數(shù)字:^\d{n,}$
  4. m-n位的數(shù)字:^\d{m,n}$
  5. 零和非零開頭的數(shù)字:^(0|[1-9][0-9]*)$
  6. 非零開頭的最多帶兩位小數(shù)的數(shù)字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
  7. 帶1-2位小數(shù)的正數(shù)或負(fù)數(shù):^(\-)?\d+(\.\d{1,2})?$
  8. 正數(shù)矾湃、負(fù)數(shù)亡脑、和小數(shù):^(\-|\+)?\d+(\.\d+)?$
  9. 有兩位小數(shù)的正實(shí)數(shù):^[0-9]+(.[0-9]{2})?$
  10. 有1~3位小數(shù)的正實(shí)數(shù):^[0-9]+(.[0-9]{1,3})?$
  11. 非零的正整數(shù):^[1-9]\d*$^([1-9][0-9]*){1,3}$^\+?[1-9][0-9]*$
  12. 非零的負(fù)整數(shù):^\-[1-9][]0-9"*$^-[1-9]\d*$
  13. 非負(fù)整數(shù):^\d+$^[1-9]\d*|0$
  14. 非正整數(shù):^-[1-9]\d*|0$^((-\d+)|(0+))$
  15. 非負(fù)浮點(diǎn)數(shù):^\d+(\.\d+)?$^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
  16. 非正浮點(diǎn)數(shù):^((-\d+(\.\d+)?)|(0+(\.0+)?))$^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
  17. 正浮點(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]*))$
  18. 負(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]*)))$
  19. 浮點(diǎn)數(shù):^(-?\d+)(\.\d+)?$^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

  1. 漢字:^[\u4e00-\u9fa5]{0,}$
  2. 英文和數(shù)字:^[A-Za-z0-9]+$^[A-Za-z0-9]{4,40}$
  3. 長(zhǎng)度為3-20的所有字符:^.{3,20}$
  4. 由26個(gè)英文字母組成的字符串:^[A-Za-z]+$
  5. 由26個(gè)大寫英文字母組成的字符串:^[A-Z]+$
  6. 由26個(gè)小寫英文字母組成的字符串:^[a-z]+$
  7. 由數(shù)字和26個(gè)英文字母組成的字符串:^[A-Za-z0-9]+$
  8. 由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:^\w+$^\w{3,20}$
  9. 中文洲尊、英文远豺、數(shù)字包括下劃線:^[\u4E00-\u9FA5A-Za-z0-9_]+$
  10. 中文奈偏、英文坞嘀、數(shù)字但不包括下劃線等符號(hào):^[\u4E00-\u9FA5A-Za-z0-9]+$^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$

  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. InternetURL:[a-zA-z]+://[^\s]*^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
  4. 手機(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}$
  5. 電話號(hào)碼("XXX-XXXXXXX"、"XXXX-XXXXXXXX"惊来、"XXX-XXXXXXX"丽涩、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
  6. 國(guó)內(nèi)電話號(hào)碼(0511-4405222裁蚁、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
  7. 身份證號(hào)(15位矢渊、18位數(shù)字):^\d{15}|\d{18}$
  8. 短身份證號(hào)碼(數(shù)字、字母x結(jié)尾):^([0-9]){7,18}(x|X)?$^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
  9. 帳號(hào)是否合法(字母開頭枉证,允許5-16字節(jié)矮男,允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
  10. 密碼(以字母開頭,長(zhǎng)度在6~18之間室谚,只能包含字母毡鉴、數(shù)字和下劃線):^[a-zA-Z]\w{5,17}$
  11. 強(qiáng)密碼(必須包含大小寫字母和數(shù)字的組合,不能使用特殊字符秒赤,長(zhǎng)度在8-10之間):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
  12. 日期格式:^\d{4}-\d{1,2}-\d{1,2}
  13. 一年的12個(gè)月(01~09和1~12):^(0?[1-9]|1[0-2])$
  14. 一個(gè)月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
  15. xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
  16. 中文字符的正則表達(dá)式:[\u4e00-\u9fa5]
  17. 雙字節(jié)字符:[^\x00-\xff] (包括漢字在內(nèi)猪瞬,可以用來計(jì)算字符串的長(zhǎng)度(一個(gè)雙字節(jié)字符長(zhǎng)度計(jì)2,ASCII字符計(jì)1))
  18. 空白行的正則表達(dá)式:\n\s*\r (可以用來刪除空白行)
  19. 首尾空白字符的正則表達(dá)式:^\s*|\s*$(^\s*)|(\s*$) (可以用來刪除行首行尾的空白字符(包括空格入篮、制表符陈瘦、換頁(yè)符等等),非常有用的表達(dá)式)
  20. 騰訊QQ號(hào):[1-9][0-9]{4,} (騰訊QQ號(hào)從10000開始)
  21. 中國(guó)郵政編碼:[1-9]\d{5}(?!\d) (中國(guó)郵政編碼為6位數(shù)字)
  22. IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址時(shí)有用)
  23. IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
  24. IP-v4地址:\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b (提取IP地址時(shí)有用)
  25. 子網(wǎng)掩碼:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
  26. 校驗(yàn)日期:^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$(“yyyy-mm-dd“ 格式的日期校驗(yàn)潮售,已考慮平閏年痊项。)
  27. 抽取注釋:``
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末锅风,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鞍泉,更是在濱河造成了極大的恐慌遏弱,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件塞弊,死亡現(xiàn)場(chǎng)離奇詭異漱逸,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)游沿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門饰抒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人诀黍,你說我怎么就攤上這事袋坑。” “怎么了眯勾?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵枣宫,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我吃环,道長(zhǎng)也颤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任郁轻,我火速辦了婚禮翅娶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘好唯。我一直安慰自己竭沫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布骑篙。 她就那樣靜靜地躺著蜕提,像睡著了一般。 火紅的嫁衣襯著肌膚如雪靶端。 梳的紋絲不亂的頭發(fā)上谎势,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音躲查,去河邊找鬼它浅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛镣煮,可吹牛的內(nèi)容都是我干的姐霍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼镊折!你這毒婦竟也來了胯府?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤恨胚,失蹤者是張志新(化名)和其女友劉穎骂因,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赃泡,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寒波,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了升熊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俄烁。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖级野,靈堂內(nèi)的尸體忽然破棺而出页屠,到底是詐尸還是另有隱情,我是刑警寧澤蓖柔,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布辰企,位于F島的核電站,受9級(jí)特大地震影響况鸣,放射性物質(zhì)發(fā)生泄漏牢贸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一懒闷、第九天 我趴在偏房一處隱蔽的房頂上張望十减。 院中可真熱鬧,春花似錦愤估、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至芍锚,卻和暖如春昔园,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背并炮。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工默刚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逃魄。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓荤西,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子邪锌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容