http://tool.oschina.net/uploads/apidocs/jquery/regexp.html
image.png
image.png
image.png
表達式全集
字符 描述
\ 將下一個字符標(biāo)記為一個特殊字符、或一個原義字符织阅、或一個向后引用衫生、或一個八進制轉(zhuǎn)義符典格。例如,“n”匹配字符“n”赫冬。“\n”匹配一個換行符。串行“\”匹配“\”而“(”則匹配“(”子寓。
^ 匹配輸入字符串的開始位置。如果設(shè)置了RegExp對象的Multiline屬性笋除,^也匹配“\n”或“\r”之后的位置斜友。
匹配輸入字符串的結(jié)束位置。如果設(shè)置了RegExp對象的Multiline屬性垃它,也匹配“\n”或“\r”之前的位置鲜屏。
- 匹配前面的子表達式零次或多次烹看。例如,zo能匹配“z”以及“zoo”洛史。等價于{0,}惯殊。
- 匹配前面的子表達式一次或多次。例如也殖,“zo+”能匹配“zo”以及“zoo”土思,但不能匹配“z”。+等價于{1,}毕源。
? 匹配前面的子表達式零次或一次浪漠。例如,“do(es)?”可以匹配“does”或“does”中的“do”霎褐。?等價于{0,1}址愿。
{n} n是一個非負(fù)整數(shù)。匹配確定的n次冻璃。例如响谓,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的兩個o省艳。
{n,} n是一個非負(fù)整數(shù)娘纷。至少匹配n次。例如跋炕,“o{2,}”不能匹配“Bob”中的“o”赖晶,但能匹配“foooood”中的所有o》茫“o{1,}”等價于“o+”遏插。“o{0,}”則等價于“o”纠修。
{n,m} m和n均為非負(fù)整數(shù)胳嘲,其中n<=m。最少匹配n次且最多匹配m次扣草。例如了牛,“o{1,3}”將匹配“fooooood”中的前三個o〕矫睿“o{0,1}”等價于“o?”鹰祸。請注意在逗號和兩個數(shù)之間不能有空格。
? 當(dāng)該字符緊跟在任何一個其他限制符(,+,?上岗,{n}福荸,{n,},{n,m})后面時肴掷,匹配模式是非貪婪的敬锐。非貪婪模式盡可能少的匹配所搜索的字符串背传,而默認(rèn)的貪婪模式則盡可能多的匹配所搜索的字符串。例如台夺,對于字符串“oooo”径玖,“o+?”將匹配單個“o”,而“o+”將匹配所有“o”颤介。
. 匹配除“\n”之外的任何單個字符梳星。要匹配包括“\n”在內(nèi)的任何字符,請使用像“(.|\n)”的模式滚朵。
(pattern) 匹配pattern并獲取這一匹配冤灾。所獲取的匹配可以從產(chǎn)生的Matches集合得到,在VBScript中使用SubMatches集合辕近,在JScript中則使用0…9屬性韵吨。要匹配圓括號字符,請使用“(”或“)”移宅。
(?:pattern) 匹配pattern但不獲取匹配結(jié)果归粉,也就是說這是一個非獲取匹配,不進行存儲供以后使用漏峰。這在使用或字符“(|)”來組合一個模式的各個部分是很有用糠悼。例如“industr(?:y|ies)”就是一個比“industry|industries”更簡略的表達式。
(?=pattern) 正向肯定預(yù)查浅乔,在任何匹配pattern的字符串開始處匹配查找字符串倔喂。這是一個非獲取匹配,也就是說靖苇,該匹配不需要獲取供以后使用滴劲。例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”顾复,但不能匹配“Windows3.1”中的“Windows”。預(yù)查不消耗字符鲁捏,也就是說芯砸,在一個匹配發(fā)生后,在最后一次匹配之后立即開始下一次匹配的搜索给梅,而不是從包含預(yù)查的字符之后開始假丧。
(?!pattern) 正向否定預(yù)查,在任何不匹配pattern的字符串開始處匹配查找字符串动羽。這是一個非獲取匹配包帚,也就是說,該匹配不需要獲取供以后使用运吓。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”渴邦,但不能匹配“Windows2000”中的“Windows”疯趟。預(yù)查不消耗字符,也就是說谋梭,在一個匹配發(fā)生后信峻,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預(yù)查的字符之后開始
(?<=pattern) 反向肯定預(yù)查瓮床,與正向肯定預(yù)查類擬盹舞,只是方向相反。例如隘庄,“(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”踢步,但不能匹配“3.1Windows”中的“Windows”。
(?<!pattern) 反向否定預(yù)查丑掺,與正向否定預(yù)查類擬获印,只是方向相反。例如“(?<!95|98|NT|2000)Windows”能匹配“3.1Windows”中的“Windows”吼鱼,但不能匹配“2000Windows”中的“Windows”蓬豁。
x|y 匹配x或y。例如菇肃,“z|food”能匹配“z”或“food”地粪。“(z|f)ood”則匹配“zood”或“food”琐谤。
[xyz] 字符集合蟆技。匹配所包含的任意一個字符。例如斗忌,“[abc]”可以匹配“plain”中的“a”质礼。
[^xyz] 負(fù)值字符集合。匹配未包含的任意字符织阳。例如眶蕉,“[^abc]”可以匹配“plain”中的“p”。
[a-z] 字符范圍唧躲。匹配指定范圍內(nèi)的任意字符造挽。例如,“[a-z]”可以匹配“a”到“z”范圍內(nèi)的任意小寫字母字符弄痹。
[^a-z] 負(fù)值字符范圍饭入。匹配任何不在指定范圍內(nèi)的任意字符。例如肛真,“[^a-z]”可以匹配任何不在“a”到“z”范圍內(nèi)的任意字符谐丢。
\b 匹配一個單詞邊界,也就是指單詞和空格間的位置。例如乾忱,“er\b”可以匹配“never”中的“er”讥珍,但不能匹配“verb”中的“er”。
\B 匹配非單詞邊界饭耳〈觯“er\B”能匹配“verb”中的“er”,但不能匹配“never”中的“er”寞肖。
\cx 匹配由x指明的控制字符纲酗。例如,\cM匹配一個Control-M或回車符新蟆。x的值必須為A-Z或a-z之一觅赊。否則,將c視為一個原義的“c”字符琼稻。
\d 匹配一個數(shù)字字符吮螺。等價于[0-9]。
\D 匹配一個非數(shù)字字符帕翻。等價于[^0-9]鸠补。
\f 匹配一個換頁符。等價于\x0c和\cL嘀掸。
\n 匹配一個換行符紫岩。等價于\x0a和\cJ。
\r 匹配一個回車符睬塌。等價于\x0d和\cM泉蝌。
\s 匹配任何空白字符,包括空格揩晴、制表符勋陪、換頁符等等。等價于[ \f\n\r\t\v]硫兰。
\S 匹配任何非空白字符诅愚。等價于[^ \f\n\r\t\v]。
\t 匹配一個制表符劫映。等價于\x09和\cI呻粹。
\v 匹配一個垂直制表符。等價于\x0b和\cK苏研。
\w 匹配包括下劃線的任何單詞字符。等價于“[A-Za-z0-9_]”腮郊。
\W 匹配任何非單詞字符摹蘑。等價于“[^A-Za-z0-9_]”。
\xn 匹配n轧飞,其中n為十六進制轉(zhuǎn)義值衅鹿。十六進制轉(zhuǎn)義值必須為確定的兩個數(shù)字長撒踪。例如,“\x41”匹配“A”大渤≈仆“\x041”則等價于“\x04&1”。正則表達式中可以使用ASCII編碼泵三。.
\num 匹配num耕捞,其中num是一個正整數(shù)。對所獲取的匹配的引用烫幕。例如俺抽,“(.)\1”匹配兩個連續(xù)的相同字符。
\n 標(biāo)識一個八進制轉(zhuǎn)義值或一個向后引用较曼。如果\n之前至少n個獲取的子表達式磷斧,則n為向后引用。否則捷犹,如果n為八進制數(shù)字(0-7)弛饭,則n為一個八進制轉(zhuǎn)義值。
\nm 標(biāo)識一個八進制轉(zhuǎn)義值或一個向后引用萍歉。如果\nm之前至少有nm個獲得子表達式侣颂,則nm為向后引用。如果\nm之前至少有n個獲取翠桦,則n為一個后跟文字m的向后引用横蜒。如果前面的條件都不滿足,若n和m均為八進制數(shù)字(0-7)销凑,則\nm將匹配八進制轉(zhuǎn)義值nm丛晌。
\nml 如果n為八進制數(shù)字(0-3),且m和l均為八進制數(shù)字(0-7)斗幼,則匹配八進制轉(zhuǎn)義值nml澎蛛。
\un 匹配n,其中n是一個用四個十六進制數(shù)字表示的Unicode字符蜕窿。例如谋逻,\u00A9匹配版權(quán)符號(?)。
常用正則表達式
用戶名 /^[a-z0-9_-]{3,16}/ 密碼 /^[a-z0-9_-]{6,18}/
十六進制值 /^#?([a-f0-9]{6}|[a-f0-9]{3})/ 電子郵箱 /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})/
/^[a-z\d]+(.[a-z\d]+)@(\da-z?)+(.{1,2}[a-z]+)+/ URL /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?/
IP 地址 /((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
/^(?:(?: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]?)/ HTML 標(biāo)簽 /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)/
刪除代碼\注釋 (?<!http:|\S)//.Unicode編碼中的漢字范圍 /^[\u2E80-\u9FFF]+/