前端零基礎(chǔ)課程--第十四節(jié)課(正則表達式)

?正則表達式的模式匹配

1仪或、正則表達式(Regular Expression -RegExp)是一個描述字符模式的對象甩骏,JS中的RegExp類表示正則表達式,可以進行模式匹配和文本檢索以及替換等功能卧波,如表單驗證铭拧、頁面輸出格式化等等

2赃蛛、創(chuàng)建正則表達式RegExp對象

????????直接量語法:/hello/ig

????關(guān)鍵字:new RegExp('hello','ig')

3恃锉、RegExp的屬性

????global(只讀):判斷是否具有g(shù)修飾符(全局)

????ignoreCase(只讀):是否具有i修飾符(忽略大小寫)

????multiline(只讀):多行

????lastIndex:上次匹配索引

????source(只讀):正則所使用文本,

????$1...$9:(全局屬性)代表之前匹配得到的文本

4呕臂、RegExp方法

????test(str):檢測str是否匹配相關(guān)的正則表達式破托,返回布爾值

????exec(str):檢索str是否匹配相關(guān)的正則表達式,返回找到的值歧蒋,并確定其位置土砂;影響lastIndex的值

????compile():編譯正則表達式,將pattern轉(zhuǎn)換為內(nèi)部的格式谜洽,加快執(zhí)行速度

和正則配合使用的字符串方法

1萝映、替換字符串replace(substr/regexp,replaceStr)

????原始字符串內(nèi)容不會改變

2、匹配:match(substr/regexp)

????可在字符串內(nèi)檢索指定的值阐虚,或找到一個或多個與正則表達式匹配的子串

????若無匹配返回null

????若有匹配返回數(shù)組序臂,當僅有一個匹配項,第一項為匹配子串实束,索引'index'指出匹配的位置奥秆,索引'input'指出要檢測的字符串;若有多項匹配則數(shù)組由所有匹配項組成

3咸灿、查找:search(str/regexp)

????返回第一個匹配子串的起始位置

????此方法不支持全局匹配构订,將忽略標識符g

4、定義正則表達式

? ? a避矢、普通字符 \ipod\

? ? b悼瘾、需要使用轉(zhuǎn)義符的字符: . \/ * ? + [ ( ] ) { } ^ $ | /\.\?\*/

? ? c、匹配字符集

????????[abc] 匹配指定集合內(nèi)任一個字符:/[abc123]/

? ????? [^abc] 匹配不再指定集合內(nèi)的任意字符

????????[0-9] 指定范圍谷异,匹配數(shù)字

????????[a-z] 匹配小寫字母

????????[A-Z] 匹配大寫字母

????????[A-z] 匹配大寫A到小寫z之間所有字符:A-Z[\]^_`a-z

? ? d分尸、預(yù)定義字符集

????????? \d 匹配一個數(shù)字:/\d/ 等價于/[0-9]/

????????? \D 匹配一個非數(shù)字:/\D/等價于/[^0-9]/

????????? \w匹配一個數(shù)字/字母/下劃線 等價于/[A-Za-z0-9_]/

????????? \W匹配一個非數(shù)字/字母/下劃線 等價于

? ? ? ? ?/[^A-Za-z0-9_]/

????????? \s 匹配一個空白字符(space),/\s/等價于/[ \n\r\t\v\f]/

????????? \S 匹配一個非空白符?/\S/等價于/[^\n\r\t\v\f]/

? ? ? ? ? . 匹配除了回車和換行外的任何單個字符,/./等價于/[^\n\r]/

? ? e歹嘹、數(shù)量詞

????????n? 匹配零次或一次字符n

????????n*:匹配零次或多次字符n >=0次

????????n+:匹配一次貨多次字符n >=1次

????????n{x}:匹配字符n出現(xiàn)x次

????????n{x,y}:匹配字符n出現(xiàn)x到y(tǒng)次

????????n{x,}:匹配字符n出現(xiàn)>=x次

? ? f、選擇和分組

????????exp1|exp2 使用|進行條件選擇/ex|Ex|post|Post/

????????(exp1)使用()指定分組---自表達式

? ? g孔庭、指定匹配位置

????????^ 匹配字符串開頭 /^a/

????????$ 匹配字符串的結(jié)尾

? ? ? ? \b匹配單詞邊界

? ? ? ? ?\B:匹配非單詞邊界

?????????=x 正向前瞻尺上,匹配其后緊接著x的字符串

?????????!=x 后面不能有x

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市圆到,隨后出現(xiàn)的幾起案子怎抛,更是在濱河造成了極大的恐慌,老刑警劉巖芽淡,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件马绝,死亡現(xiàn)場離奇詭異,居然都是意外死亡挣菲,警方通過查閱死者的電腦和手機富稻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門掷邦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人椭赋,你說我怎么就攤上這事抚岗。” “怎么了哪怔?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵宣蔚,是天一觀的道長。 經(jīng)常有香客問我认境,道長胚委,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任叉信,我火速辦了婚禮篷扩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘茉盏。我一直安慰自己鉴未,他們只是感情好,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布鸠姨。 她就那樣靜靜地躺著铜秆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪讶迁。 梳的紋絲不亂的頭發(fā)上连茧,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音巍糯,去河邊找鬼啸驯。 笑死,一個胖子當著我的面吹牛祟峦,可吹牛的內(nèi)容都是我干的罚斗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼宅楞,長吁一口氣:“原來是場噩夢啊……” “哼针姿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起厌衙,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤距淫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后婶希,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體榕暇,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了彤枢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狰晚。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖堂污,靈堂內(nèi)的尸體忽然破棺而出家肯,到底是詐尸還是另有隱情,我是刑警寧澤盟猖,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布讨衣,位于F島的核電站,受9級特大地震影響式镐,放射性物質(zhì)發(fā)生泄漏反镇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一娘汞、第九天 我趴在偏房一處隱蔽的房頂上張望歹茶。 院中可真熱鬧,春花似錦你弦、人聲如沸惊豺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尸昧。三九已至,卻和暖如春旷偿,著一層夾襖步出監(jiān)牢的瞬間烹俗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工萍程, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留幢妄,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓茫负,卻偏偏與公主長得像蕉鸳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子朽褪,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354