最全的常用正則表達(dá)式大全——包括校驗(yàn)數(shù)字矮台、字符乏屯、一些特殊的需求等等(轉(zhuǎn))

作者:zxin
出處:http://zxin.cnblogs.com/
轉(zhuǎn)自博客園根时。
很多不太懂正則的朋友,在遇到需要用正則校驗(yàn)數(shù)據(jù)時(shí)辰晕,往往是在網(wǎng)上去找很久蛤迎,結(jié)果找來的還是不很符合要求。所以我最近把開發(fā)中常用的一些正則表達(dá)式整理了一下含友,在這里分享一下替裆。給自己留個(gè)底,也給朋友們做個(gè)參考窘问。

一辆童、校驗(yàn)數(shù)字的表達(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)$

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

 1 漢字:^[\u4e00-\u9fa5]{0,}$
 2 英文和數(shù)字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
 3 長度為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}$
11 可以輸入含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+
12 禁止輸入含有~的字符:[^~\x22]+

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

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 國內(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 密碼(以字母開頭厌杜,長度在6~18之間奉呛,只能包含字母、數(shù)字和下劃線):^[a-zA-Z]\w{5,17}$
11 強(qiáng)密碼(必須包含大小寫字母和數(shù)字的組合夯尽,不能使用特殊字符瞧壮,長度在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 錢的輸入格式:
16    1.有四種錢的表示形式我們可以接受:"10000.00" 和 "10,000.00", 和沒有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$ 
17    2.這表示任意一個(gè)不以0開頭的數(shù)字,但是,這也意味著一個(gè)字符"0"不通過,所以我們采用下面的形式:^(0|[1-9][0-9]*)$ 
18    3.一個(gè)0或者一個(gè)不以0開頭的數(shù)字.我們還可以允許開頭有一個(gè)負(fù)號(hào):^(0|-?[1-9][0-9]*)$ 
19    4.這表示一個(gè)0或者一個(gè)可能為負(fù)的開頭不為0的數(shù)字.讓用戶以0開頭好了.把負(fù)號(hào)的也去掉,因?yàn)殄X總不能是負(fù)的吧.下面我們要加的是說明可能的小數(shù)部分:^[0-9]+(.[0-9]+)?$ 
20    5.必須說明的是,小數(shù)點(diǎn)后面至少應(yīng)該有1位數(shù),所以"10."是不通過的,但是 "10" 和 "10.2" 是通過的:^[0-9]+(.[0-9]{2})?$ 
21    6.這樣我們規(guī)定小數(shù)點(diǎn)后面必須有兩位,如果你認(rèn)為太苛刻了,可以這樣:^[0-9]+(.[0-9]{1,2})?$ 
22    7.這樣就允許用戶只寫一位小數(shù).下面我們?cè)摽紤]數(shù)字中的逗號(hào)了,我們可以這樣:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$ 
23    8.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})?$ 
24    備注:這就是最終結(jié)果了,別忘了"+"可以用"*"替代如果你覺得空字符串也可以接受的話(奇怪,為什么?)最后,別忘了在用函數(shù)時(shí)去掉去掉那個(gè)反斜杠,一般的錯(cuò)誤都在這里
25 xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
26 中文字符的正則表達(dá)式:[\u4e00-\u9fa5]
27 雙字節(jié)字符:[^\x00-\xff]    (包括漢字在內(nèi),可以用來計(jì)算字符串的長度(一個(gè)雙字節(jié)字符長度計(jì)2匙握,ASCII字符計(jì)1))
28 空白行的正則表達(dá)式:\n\s*\r    (可以用來刪除空白行)
29 HTML標(biāo)記的正則表達(dá)式:<(\S*?)[^>]*>.*?</\1>|<.*? />    (網(wǎng)上流傳的版本太糟糕咆槽,上面這個(gè)也僅僅能部分,對(duì)于復(fù)雜的嵌套標(biāo)記依舊無能為力)
30 首尾空白字符的正則表達(dá)式:^\s*|\s*$或(^\s*)|(\s*$)    (可以用來刪除行首行尾的空白字符(包括空格圈纺、制表符罗晕、換頁符等等)济欢,非常有用的表達(dá)式)
31 騰訊QQ號(hào):[1-9][0-9]{4,}    (騰訊QQ號(hào)從10000開始)
32 中國郵政編碼:[1-9]\d{5}(?!\d)    (中國郵政編碼為6位數(shù)字)
33 IP地址:\d+\.\d+\.\d+\.\d+    (提取IP地址時(shí)有用)
34 IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)) 

Eclipse刪除代碼中所有注釋及空格

Ctrl+F 刪除java注釋: /*{1,2}[\s\S]?*/
Ctrl+F 刪除xml注釋: <!-[\s\S]
?-->
Ctrl+F 刪除空白行: ^\s*\n

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市小渊,隨后出現(xiàn)的幾起案子法褥,更是在濱河造成了極大的恐慌,老刑警劉巖酬屉,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件半等,死亡現(xiàn)場離奇詭異,居然都是意外死亡呐萨,警方通過查閱死者的電腦和手機(jī)杀饵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谬擦,“玉大人切距,你說我怎么就攤上這事〔以叮” “怎么了谜悟?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長北秽。 經(jīng)常有香客問我葡幸,道長,這世上最難降的妖魔是什么贺氓? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任蔚叨,我火速辦了婚禮,結(jié)果婚禮上辙培,老公的妹妹穿的比我還像新娘蔑水。我一直安慰自己,他們只是感情好扬蕊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布肤粱。 她就那樣靜靜地躺著,像睡著了一般厨相。 火紅的嫁衣襯著肌膚如雪领曼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天蛮穿,我揣著相機(jī)與錄音庶骄,去河邊找鬼。 笑死践磅,一個(gè)胖子當(dāng)著我的面吹牛单刁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼羔飞,長吁一口氣:“原來是場噩夢啊……” “哼肺樟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起逻淌,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤么伯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后卡儒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體田柔,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年骨望,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了硬爆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡擎鸠,死狀恐怖缀磕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情劣光,我是刑警寧澤袜蚕,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站赎线,受9級(jí)特大地震影響廷没,放射性物質(zhì)發(fā)生泄漏糊饱。R本人自食惡果不足惜垂寥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望另锋。 院中可真熱鬧滞项,春花似錦、人聲如沸夭坪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽室梅。三九已至戏仓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間亡鼠,已是汗流浹背赏殃。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留间涵,地道東北人仁热。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像勾哩,于是被迫代替她去往敵國和親抗蠢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子举哟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

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