站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        如何快速學(xué)習(xí)正則表達(dá)式

        正則表達(dá)式概念

        正則表達(dá)式,又稱正規(guī)表示法、常規(guī)表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機(jī)科學(xué)的一個概念。正則表達(dá)式使用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來檢索、替換那些符合某個模式的文本。

        在日常工作中,我們經(jīng)常寫正則表達(dá)式,比如在表單中經(jīng)常用來驗證用戶輸入的格式是否正確,我們就會用到正則表達(dá)式;可以把正則表達(dá)式看做是可以描述問題的語言,它就是專門為模式匹配而設(shè)計的

        ——————————————————————————-

        正則表達(dá)式的語法

        可以簡單粗暴得把正則表達(dá)式理解為查找東西,舉個例子:要在”Hello World”中找到”world”這個單詞,先用直白的語言來描述就是查找”從w開頭到d結(jié)束的字母組合”,使用正則來描述就是bww*db,這個就是模式字符串,它由元字符和字面量字符組成

        •常見的元字符如下:

        如何快速學(xué)習(xí)正則表達(dá)式

        •正則表達(dá)式中的旗標(biāo)

        如何快速學(xué)習(xí)正則表達(dá)式

        •正則表達(dá)式中的轉(zhuǎn)義字符

        如何快速學(xué)習(xí)正則表達(dá)式

        JS中的正則表達(dá)式

        •兩種生成方式,

        舉例:匹配0-9有沒有出現(xiàn)

        復(fù)制代碼 代碼如下:
        1、通過RegExp var reg=new RegExp(‘^[0-9]’,’g’);
        2、通過表達(dá)式字面量 var reg=/^[0-9]/g;

        •兩種常用的方法

        test()、exec()

        復(fù)制代碼 代碼如下:
        1、test方法:如果輸入字符串與模式相匹配,test就返回真,沒有則返回假
        2、exec方法:如果輸入字符串與模式匹配,則返回一個數(shù)組,沒有匹配就返回null

          /*test()方法,匹配是否有出現(xiàn)0-9*/  var reg1=/^[0-9]/;  reg1.test('There is no number');  //返回結(jié)果為false  /*exec()方法,匹配句子里面的單詞,兩個單詞一組*/  /*沒有設(shè)置全局旗標(biāo)*/  var reg2=/(w+)s(w+)/;  reg2.test('There is no number');  //返回結(jié)果['There is','There','is']  //第0個元素是匹配的字符串,后面兩個元素分別是分組引用的子字符串  /*設(shè)置全局旗標(biāo)*/  var reg3=/(w+)s(w+)/g;  reg3.test('There is no number');  //設(shè)置了全局旗標(biāo)的話,exec()會循環(huán)尋找  //第一次查找結(jié)果['There is','There','is'],第二次結(jié)果['no number','no','number'],第三次結(jié)果null   exec()方法如果設(shè)置了全局旗標(biāo),在循環(huán)中使用必須要手動設(shè)置其reg.lastIndex = 0;,否則它會間隔匹配

        ——————————————————————————–

        字符串對象與正則表達(dá)式

        •在string對象中有不少以正則表達(dá)式對象作為參數(shù)的方法

        屬性 說明
        match(regexp) 返回正則表達(dá)式regexp的匹配結(jié)果
        replace(searchValue,replaceValue) 將searchValue(正則表達(dá)式或是字符串值)
        替換為replaceValue,并返回響應(yīng)的字符串
        search(regexp) 返回正則表達(dá)式regexp匹配位置的下標(biāo),沒有匹配就返回-1
        split(separator,limit) 通過參數(shù)separator(字符串或是正則表達(dá)式)
        對字符串進(jìn)行分割,并返回一個字符串?dāng)?shù)組

        •match方法會返回元素與模式相匹配的字符串的數(shù)組,設(shè)置全局旗標(biāo)時,會返回所有與模式相匹配的字符串?dāng)?shù)組,不設(shè)置時和exec方法相同

        應(yīng)用例子:

          var text='abc def ghi jkl';  //設(shè)置全局旗標(biāo)  text.match(/w+/g);  //["abc","def","ghi","jkl"]  //不設(shè)置全局旗標(biāo)  text.match(/(w+)s(w+)/);  //["abc def","abc","def"] •replace方法返回被替換的字符串,如果設(shè)置了全局旗標(biāo),則替換全部匹配了的字符串,否則只替換第一個匹配的字符串;replace中如果第一個參數(shù)用了分組,第二個參數(shù)能夠通過符號來標(biāo)識分組的前向引用

        如何快速學(xué)習(xí)正則表達(dá)式

        應(yīng)用例子:

          var text="abc def ghi jkl";  //將空格替換為字符  text.replace(/s/,',');  //"abc,def ghi jkl"  text.replace(/s/g,',');  //"abc,def,ghi,jkl"  //對空格之前的字符分組,用逗號替換并前向移動一位  text.replace(/(.)s/g,",$1");  //"ab,cde,fgh,igkl" •在search與split方法中,正則表達(dá)式的全局旗標(biāo)不起作用

        以上內(nèi)容是小編給大家介紹的快速學(xué)習(xí)正則表達(dá)式 的方法,希望對大家有所幫助!

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 亚洲精品无码av人在线观看| 国产精品视频一区二区三区经| 久久久久人妻一区精品性色av| 国产成人精品久久一区二区三区av| 中文字幕久精品免费视频| 杨幂国产精品福利在线观看| 久久国产精品无码一区二区三区 | 欧美日韩专区麻豆精品在线 | 精品国产一区二区三区在线观看| 国产成人精品电影在线观看| 日韩午夜高清福利片在线观看欧美亚洲精品suv| 国产精品影音先锋| 久久综合精品国产二区无码 | 国产三级精品三级| 久久线看观看精品香蕉国产| 国产精品亚洲а∨无码播放 | 欧美日韩成人精品久久久免费看 | 四虎国产精品永久地址99| CAOPORM国产精品视频免费| 亚洲AV无码成人网站久久精品大| 天天爽夜夜爽夜夜爽精品视频| 国产精品午夜久久| 99精品电影一区二区免费看| 久久精品男人影院| 99在线精品视频| 成人国产精品999视频| 99在线精品视频在线观看| 孩交VIDEOS精品乱子| 久久久无码人妻精品无码 | 久久久久无码国产精品不卡| 国产成人无码精品久久久久免费| 91探花国产综合在线精品| 亚洲午夜久久久精品影院| 欧美精品在线一区二区三区| 欧美日韩精品在线| 99久久精品免费| 国产精品推荐天天看天天爽 | Xx性欧美肥妇精品久久久久久| 成人国产精品秘 果冻传媒在线| 国产精品视频第一页| 久久99国产精品久久99|