1-新建
1.使用字面量(常用)
var re = /a/;
2.RegExp構(gòu)造函數(shù)
var re = new RegExp("a");
2-匹配方法
1.test():返回一個(gè)布爾值策菜,方法用于匹配字符串,匹配成功返回true酒贬;返回失敗false又憨;
console.log(re.text(str));
2.exec():返回匹配結(jié)果。锭吨,發(fā)現(xiàn)匹配蠢莺,就返回一個(gè)以每個(gè)匹配成功的字符串
組成的數(shù)組,否則返回null零如。
console.log(re.exec(str));
方法屬性:
index 表示匹配想在字符串中的位置
input表示元字符串
3-匹配方法
- match()
接受一個(gè)參數(shù)躏将,正則去匹配字符串,如果匹配成功就返回匹配成功的數(shù)組考蕾,如果匹配不成功祸憋,就返回null
2 . search()
參數(shù)與match相同,返回字符串肖卧,中的第一個(gè)匹配項(xiàng)的索引蚯窥,沒有匹配項(xiàng)返回-1
3-replace()用于替換接受兩個(gè)參數(shù),第一個(gè)是匹配項(xiàng)塞帐,第二個(gè)可以是字符串或是一個(gè)函數(shù)拦赠。
4-split 用指定的分隔符將一個(gè)字符串分割成多個(gè)子字符串,并將結(jié)果放在一個(gè)數(shù)組里。接受兩個(gè)參數(shù),第一個(gè)為指定分隔符,第二個(gè)可選,用于指定數(shù)組的最大成員數(shù)(個(gè)別瀏覽器對(duì)該方法有不同解析葵姥,注意調(diào)試)
3-匹配規(guī)則
1-字面量字符 :在正則表達(dá)式中荷鼠,某個(gè)字符只表示它字面的含義,比如/a/匹配a榔幸。
2-元字符:出字面量字符以外允乐,還有一部分字符有特殊含義,不代表字面意思削咆,叫“元字符”喳篇。如果要匹配它們本身,需要在他們面前加上反斜杠進(jìn)行轉(zhuǎn)義态辛,比如匹配加號(hào),就要寫成 +
正則中需要斜杠轉(zhuǎn)義的字符:
^挺尿、.奏黑、[炊邦、]、$熟史、(馁害、)、|蹂匹、*碘菜、+、?限寞、{忍啸、}、\\ //
(1---點(diǎn)子符). : 匹配除回車\r 換行\(zhòng)n 行分隔符\u2028,段分割符\2029以外的所有字符
(2-位置字符):^表示字符串的開始位置履植;$表示字符串的結(jié)束位置
(3---豎線符號(hào))| 在正則中表示“或關(guān)系”即a|b表示匹配a或b
如果使用RegExp方法生成正則對(duì)象计雌,轉(zhuǎn)移需要使用李忙個(gè)斜杠,因?yàn)樽址畠?nèi)部會(huì)先轉(zhuǎn)義一次
3-重復(fù)類:
模式的精確匹配次數(shù)玫霎,用大括號(hào){}表示凿滤。{n}表示恰好重復(fù)n次,{n庶近,}表示至少重復(fù)n次翁脆,{n,m}表示重復(fù)不少于n次鼻种,不多于m次反番;
4-量詞符:
(?):?jiǎn)柼?hào)表示某個(gè)模式出現(xiàn)出現(xiàn)0次或1次;等同于{0普舆,1}
(*):星號(hào)表示某個(gè)模式出現(xiàn)0次或多次恬口,等同于{0}
(+) :加號(hào)表示某個(gè)模式出現(xiàn)1次或多次,等同于{1}
5-字符類
表示有一系列字符可供選擇沼侣,只要匹配其中一個(gè)就可以祖能,所有可供選擇的字符都放在方括號(hào)內(nèi),如【abc】表示a蛾洛,b养铸,c之中任選一個(gè)匹配
(1--脫字符)如果方括號(hào)內(nèi)第一個(gè)字符是[].則表示除了字符串中的字符,其他字符都可以匹配轧膘,如:[abc]表示除了a.b.c之外都可以匹配钞螟。
(2--連字符-) 對(duì)于連續(xù)序列的字符,連字符用來(lái)提供簡(jiǎn)寫形式谎碍,表示字符串的連續(xù)范圍鳞滨,如:[abc]可寫成[a-c],[01234567889]可寫成[0-9],[A-Z]表示26個(gè)大寫字母
6-修飾符
修飾符b表示模式的附加規(guī)則蟆淀,放在正則模式的最尾部拯啦,修飾符可以單個(gè)使用也可以多個(gè)使用
(1-g)g默認(rèn)情況下澡匪,第一次匹配成功后正則對(duì)象就停止向下匹配,g修飾表示全局匹配
(2-i)默認(rèn)情況下,正則對(duì)象區(qū)分字母大大小寫褒链,加上i修飾符以后表示忽略大小寫
(3-m)表示多行模式唁情,會(huì)修改和$的行為,默認(rèn)情況下甫匹,和$匹配字符串的開始處和結(jié)尾處甸鸟,加上m修飾符后,^和$會(huì)識(shí)別換行符\n
7-預(yù)定義模式:
指定某些常見模式的簡(jiǎn)寫方式
(1)\d匹配0-9之間的任一數(shù)字兵迅,相當(dāng)于[0-9]
(2)\D匹配所有0-9以外的字符抢韭,相當(dāng)于[^0-9]
(3)\w匹配任意的字母,數(shù)字和下劃線喷兼,相當(dāng)于[A-Za-z0-9_]
(4)\W匹配除字母篮绰,數(shù)字和下劃線,相當(dāng)于[A-Za-z0-9]
(5)\s匹配空格季惯,包括指標(biāo)符吠各,空格符,斷行符等
(6)\S匹配非空格的字符
(7)\b匹配單詞的邊界
(8)\B匹配非單詞的邊界
8-特殊字符
[\b] 匹配退格鍵
\n匹配換行鍵
\r匹配回車鍵
\f匹配換頁(yè)符
\t查找制表符tab
9匹配符
正則表達(dá)式的過(guò)好表示分組匹配勉抓,括號(hào)中的模式可以用來(lái)匹配分組的內(nèi)容