相關(guān)閱讀:
IOS開發(fā)常用的正則表達(dá)式
Java正則表達(dá)式過濾出字母、數(shù)字和中文
正則表達(dá)式(regular expression)描述了一種字符串匹配的模式,可以用來檢查一個(gè)串是否含有某種子串、將匹配的子串做替換或者從某個(gè)串中取出符合某個(gè)條件的子串等。
列目錄時(shí), dir *.txt或ls *.txt中的*.txt就不是一個(gè)正則表達(dá)式,因?yàn)檫@里*與正則式的*的含義是不同的。
構(gòu)造正則表達(dá)式的方法和創(chuàng)建數(shù)學(xué)表達(dá)式的方法一樣。也就是用多種元字符與運(yùn)算符可以將小的表達(dá)式結(jié)合在一起來創(chuàng)建更大的表達(dá)式。正則表達(dá)式的組件可以是單個(gè)的字符、字符集合、字符范圍、字符間的選擇或者所有這些組件的任意組合。
正則表達(dá)式是由普通字符(例如字符 a 到 z)以及特殊字符(稱為"元字符")組成的文字模式。模式描述在搜索文本時(shí)要匹配的一個(gè)或多個(gè)字符串。正則表達(dá)式作為一個(gè)模板,將某個(gè)字符模式與所搜索的字符串進(jìn)行匹配。
下面是小編日常整理了工作中常用的一些正則表達(dá)式,常用的正則驗(yàn)證表達(dá)式:
數(shù)字相關(guān)的正則表達(dá)式
數(shù)字:^[0-9]*$
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ù):^\d+$ 或 ^[1-9]\d*|0$
負(fù)整數(shù):^-[1-9]\d*|0$ 或 ^((-\d+)|(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)$
字符相關(guān)的正則表達(dá)式
漢字:^[\u4e00-\u9fa5]{0,}$
長度為3-20的所有字符:^.{3,20}$
由數(shù)字和26個(gè)英文字母組成的字符串:^[A-Za-z0-9]+$
由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:^\w+$ 或 ^\w{3,20}$
中文、英文、數(shù)字包括下劃線:^[\u4E00-\u9FA5A-Za-z0-9_]+$
中文、英文、數(shù)字但不包括下劃線等符號(hào):^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
帳號(hào)是否合法(字母開頭,允許5-16字節(jié),允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
密碼(以字母開頭,長度在6~18之間,只能包含字母、數(shù)字和下劃線):^[a-zA-Z]\w{5,17}$
強(qiáng)密碼(必須包含大小寫字母和數(shù)字的組合,不能使用特殊字符,長度在8-10之間):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
固定格式約定俗成的正則表達(dá)式
Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
網(wǎng)站域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
URL網(wǎng)址:^http://([\w-]+\.)+[\w-]+(/[\w-./?%=]*)?$
手機(jī)號(hào)碼:^(13[0-9]|17[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}$
日期格式:^\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)$
騰訊QQ號(hào):[1-9][0-9]{4,8} (騰訊QQ號(hào)從10000開始,目前最長為10位)
中國郵政編碼:[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))
以上所述是小編給大家介紹的常用的正則表達(dá)式大全(數(shù)字、字符、固定格式),希望對(duì)大家有所幫助!
您可能感興趣的文章:- 實(shí)用正則表達(dá)式匹配和替換大全
- 最全的常用正則表達(dá)式大全
- 比較常用證件正則表達(dá)式驗(yàn)證大全
- MySQL中REGEXP正則表達(dá)式使用大全
- 最全的常用正則表達(dá)式大全——包括校驗(yàn)數(shù)字、字符、一些特殊的需求等
- JS正則表達(dá)式大全(整理詳細(xì)且實(shí)用)
- Jquery Validate 正則表達(dá)式實(shí)用驗(yàn)證代碼大全
- JavaScript 表單驗(yàn)證正則表達(dá)式大全[推薦]
- 前端常用正則表達(dá)式匯總