十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
      南昌百恒網(wǎng)絡(luò)微信公眾號(hào) 掃一掃關(guān)注
      小程序
      tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
      掃一掃打開百恒網(wǎng)絡(luò)微信小程序

      百恒網(wǎng)絡(luò)

      南昌百恒網(wǎng)絡(luò)

      ECMAScript RegExp類型及簡(jiǎn)單應(yīng)用

      百恒網(wǎng)絡(luò) 2012-03-24 5062

      ECMAScript通過RegExp類型來支持正則表達(dá)式。使用下面類似Perl的語法,就可以創(chuàng)建一個(gè)正則表達(dá)式:

      var expression=/pattern/flags;

      其中的模式(pattern)部分可以是任何簡(jiǎn)單或復(fù)雜的正則表達(dá)式,可以包含字符類、限定符、分組,向前查找,以及反向引用。每個(gè)正則表達(dá)式都可帶有一或多個(gè)標(biāo)志( flags),用以標(biāo)明正則表達(dá) 式的行為。正則表達(dá)式的匹配模式支持下列3個(gè)標(biāo)志:

      ◎g——表示全局(global)模式,即模式將被應(yīng)用于所有字符串,而非在發(fā)現(xiàn)第一個(gè)匹配項(xiàng)時(shí)立即停止;

      ◎i——表示不區(qū)分大小寫( case-insensitive)模式,即在確定匹配項(xiàng)時(shí)忽略模式與字符串的大小寫;

      ◎m——表示多行( multiline)模式,即在到達(dá)一行文本末尾時(shí)還會(huì)繼續(xù)查找下一行中是否存在與模式匹配的項(xiàng)。

      因此,一個(gè)正則表達(dá)式就是一個(gè)模式與上述3個(gè)標(biāo)志的組合體。不同組合產(chǎn)生不結(jié)果,如下面的例子所示:

      /*

      *匹配字符串中所有"at"的實(shí)例

      */

      var patternl=/at/g;

      /*

      *匹配第一個(gè)”bat”或”cat",不區(qū)分大小寫

      */

      var pattern2=/[bcl at/i;

      /*

      *匹配所有以”at”結(jié)尾的3個(gè)字符的組合,不區(qū)分大小寫

      */

      var pattern3=/.at/gi;

      與其他語言中的正則表達(dá)式類似,模式中使用的所有元字符都必須轉(zhuǎn)義。正則表達(dá)式中的元字符包括:

      ( [ { ^ $ | ) ? * + .]}

      這些元字符在正則表達(dá)式中都有一或多種特殊用途,因此如果想要匹配字符串中包含的這些字符.就必須對(duì)它們進(jìn)行轉(zhuǎn)義。下面給出幾個(gè)例子:

      /*

      *匹配第一個(gè)" bat”或"cat",不區(qū)分大小寫

      */

      var patternl=/[bc] at/i;

      *匹配第一個(gè)”[bc]at",不區(qū)分大小寫

      */

      var pattern2=/\[bc] at/i;

      *匹配所有以"at”結(jié)尾的3個(gè)字符的組合,不區(qū)分大小寫

      */

      var pattern3=/.at/gi;

      *匹配所有”.at”,不區(qū)分大小寫

      */

      var pattern4=/\.at/gi;

      在上面的例子中,patternl匹配第一個(gè)”bat”或”cat”,不區(qū)分大小寫。而要想直接匹配"[bc]at"的話,就需要像定義pattern2 -樣,對(duì)其中的兩個(gè)方括號(hào)進(jìn)行轉(zhuǎn)義。對(duì)于pattern3來說,句點(diǎn)表 示位于”at”之前的任意一個(gè)可以構(gòu)成匹配項(xiàng)的字符。但如果想匹配”.at”,則必須對(duì)句點(diǎn)本身進(jìn)行轉(zhuǎn)義,如pattern4所示。

      前面舉的這些例子都是以字面量形式來定義的正則表達(dá)式。另一種創(chuàng)建正則表達(dá)式的方式是使用RegExp構(gòu)造函數(shù),它接受兩個(gè)參數(shù):一個(gè)是要匹配的字符串模式,另一個(gè)是可選的標(biāo)志字符串。可以使用字面量定義的任何表達(dá)式,都可以使用構(gòu)造函數(shù)來定義,如下面的例子所示:

      /*

      *匹配第一個(gè)“bat n或”cat”,不區(qū)分大小寫

      */

      var patternl=/[bc]at/i;

      /*

      *與patternl相同,只不過是使用構(gòu)造函數(shù)創(chuàng)建的

      */

      var pattern2=new RegExp(”[bc] at".”i");

      在此,南昌網(wǎng)站建設(shè)公司前端開發(fā)工程師提醒,patternl和pattern2是兩個(gè)完全等價(jià)的正則表達(dá)式。要注意的是,傳遞給RegExp構(gòu)造函數(shù)的兩個(gè)參數(shù)都是字符串(不能把正則表達(dá)式字面量傳遞給RegExp構(gòu)造函數(shù))。由于RegExp構(gòu)造函數(shù)的模式參數(shù)是字符串,所以在某些情況下要對(duì)字符進(jìn)行雙重轉(zhuǎn)義。所有元字符都必須雙重轉(zhuǎn)義,那些已經(jīng)轉(zhuǎn)義過的字符也是如此,例如\n(字符\在字符串中通常被轉(zhuǎn)義為\\,而在正則表達(dá)式字符串中就會(huì)變成\\)。下表給出了一些模式,左邊是這些模式的字面量形式,右邊是使用RegExp構(gòu)造函數(shù)定義相同模式時(shí)使用的字符串。

      字面量模式 等價(jià)的字符串

      /{bc}at/ "\[bc\]at"

      /.at/ "\\.at"

      /name/age/ "name /age"

      /\d.d{1,3}/ ”\\d.\\d(1,2)”

      /\w\hello\\123/ ”\W\\hello\\123”

      希望本文對(duì)廣大站長(zhǎng)或從事企業(yè)網(wǎng)站建設(shè)公司的團(tuán)隊(duì)有所幫助,如對(duì)此不太理解的,可以與南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高興與廣大站長(zhǎng)和從事企業(yè)網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗(yàn)。


      400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
      掃一掃打開百恒網(wǎng)絡(luò)小程序

      歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務(wù) 售后服務(wù)
       
      售后服務(wù) 售后服務(wù)
       
      備案專線 備案專線
       
      ×
      国产精品三级av及在线观看| 精品国产成人亚洲午夜福利| 久久久亚洲精品蜜桃臀| 日韩精品视频免费网址| 国产伦精品一区二区三区精品| 麻豆精品无码国产在线果冻| 色综合久久综精品| 亚洲精品中文字幕无码AV| 久久久久久久99精品国产片| 亚洲精品乱码久久久久久久久久久久 | 国产精品一区二区久久精品涩爱| 亚洲精品视频专区| 久久精品国产亚洲av麻豆色欲| 久久久久成人精品一区二区| 亚洲国产精品无码久久久不卡| 国产亚洲美女精品久久久2020| 久久久久久亚洲精品不卡| 久久乐国产精品亚洲综合| 精品国产污污免费网站入口| 国产精品 羞羞答答在线| 亚洲性日韩精品国产一区二区| 精品在线视频一区| 西瓜精品国产自在现线| www.精品视频| 国产国拍亚洲精品mv在线观看| 国产亚洲精品a在线观看| 久草热久草热线频97精品| 国产精品一区二区三区99| 国产精品二区观看| 国产精品亚洲精品日韩已方| 国产精品亚洲精品日韩已方| 精品福利一区二区三区精品国产第一国产综合精品 | 2020国产欧洲精品视频| 精品久久久久久蜜臂a∨| 国产精品香蕉在线一区| 麻豆精品在线播放| 日韩精品一卡2卡3卡4卡新区乱码| 欧美精品久久久久a片一二三区| 国产精品无码AV不卡| 精品久久久久久中文字幕女| 国产精品情侣呻吟对白视频|