<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        javascript正則表達式匹配字符串string

        來源:懂視網 責編:小采 時間:2020-11-27 20:32:30
        文檔

        javascript正則表達式匹配字符串string

        javascript正則表達式匹配字符串string:在JavaScript代碼中使用正則表達式進行模式匹配經常會用到String對象和RegExp對象的一些方法,例如replace、match、search等方法,以下是對一些方法使用的總結。 String對象中支持正則表達式有4種方法,分別是:search、replace、match、s
        推薦度:
        導讀javascript正則表達式匹配字符串string:在JavaScript代碼中使用正則表達式進行模式匹配經常會用到String對象和RegExp對象的一些方法,例如replace、match、search等方法,以下是對一些方法使用的總結。 String對象中支持正則表達式有4種方法,分別是:search、replace、match、s

        在JavaScript代碼中使用正則表達式進行模式匹配經常會用到String對象和RegExp對象的一些方法,例如replace、match、search等方法,以下是對一些方法使用的總結。

        String對象中支持正則表達式有4種方法,分別是:search、replace、match、split

        str.search(regexp)

        定義:search()方法將在字符串str中檢索與表達式regexp相匹配的字串,并且返回第一個匹配字串的第一個字符的位置。如果沒有找到任何匹配的字串,則返回-1。

        例如:

        var str = "Javascript";
        str.search(/script/); // 返回 script 中s的位置為 4
        str.search(/j/i); // 設置正則表達是標識i:忽略大小寫,則匹配到J,返回位置0

        但是,search()方法不支持全局搜索,因為會忽略正則表達式參數的標識g,并且也忽略了regexp的lastIndex屬性,總是從字符串的開始位置進行檢索,所以它會總是返回str的第一個匹配的位置。

        例如:

        var str = "javascript is cool";
        str.search(/s/g); // 返回 javascript 中的s位置4,不會繼續檢索s 

        str.replace(regexp, replacement)

        定義:replace()方法是執行查找并替換的操作。它將正則表達式regexp匹配到的字串,然后用replacement的字符串替換掉字串,如果有全局標識g,則替換全部匹配的字串,否則只替換第一個匹配字串。

        replace方法應該是比較常用的一個方法,在字符串替換操作中非常有用的。例如:

        1、簡單替換

        var str = "javascript";
        str.replace(/javascript/,'JavaScript'); // 將字符串javascript替換為JavaScript

        2、全局替換

        // 使用全局表示g進行全局替換
        var str = "javascript";
        str.replace(/a/g, 'b'); // 將所有的字母a替換為字母b,返回 jbvbscript

        3、使用replacement中的特殊字符替換,在replacement中$字符有特殊的意義,具體說明如下表格:

        字符 替換文本
        $1、$2、...、$99 與regexp中的第1個到99 個子表達式相匹配的文本
        $& 與regexp相匹配的字串
        $` 位于匹配子串左側的文本
        $' 位于匹配子串右側的文本
        $$ 直接量符號

        來看下例子:

        //1、用子表達式替換:$1、$2等
        var str = "javascript";
        str.replace(/(java)(script)/,'$2$1'); 
        // 表達式中()就是一個子表達式,$1對應是第一個表達式的內容,即java,$2為script,所以替換
        結果為:scriptjava //2、$& 為正值表達式匹配的字串 var str = "javascript"; str.replace(/java/,'$&-'); // 正則表達式通過直接量java來匹配,匹配結果為java,則 $&的值為java,然后用字符串$&-來替換匹配的字串,結果為java-script // 3、 $` $' $$ var str = "javascript"; str.replace(/ava/,"$`"); // $`為匹配子串ava的左側文本,則為j,則替換后ava的結果為:jjscript str.replace(/ava/,"$'"); // $'為匹配子串ava的右側文本,則為script,則替換ava的結果為:jscriptscript str.replace(/ava/,"$$"); // $$為直接量符號,即插入一個$符號,替換結果為:j$script

        4、使用replacement作為函數替換

        replace的參數replacement可以是函數而不是字符串,每個匹配都會調用該函數,它返回的字符串將作為替換的文本使用。該函數的第一個參數是整個匹配模式的字符串,接下來的參數是與模式中的子表達式匹配的字符串,可以有0個或多個參數。接下來的參數是一個整數,聲明了匹配在str中出現的位置。最后的參數是str自身。

        來看個例子:

        // match 為匹配整個字符串,即:'abc12345#$*%'
        // p1 為第一個子表達式,([^\d]*),匹配0個或多個非數字的字符,即:abc
        // p2 為第二個子表達式,(\d*),匹配0個或多個的數字,即:12345
        // p3 為第三個子表達式,([^\w]*),匹配0個或匹配任何非單詞字符。等價于 '[^A-Za-z0-9_]',即 #$*%
        // offset 為模式匹配出現的位置,從第一個字符已經匹配成功,則位置為0
        // string為字符串本身,即 abc12345#$*%
        function replacer(match, p1, p2, p3, offset, string) {
        return [p1, p2, p3].join(' - ');
        }
        var newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer); 
        // 替換
        結果為:abc - 12345 - #$*%

        str.match(regexp)

        定義:match()方法是最常用的String正則表達式方法。它唯一的參數就是一個正則表達式或者通過RegExp()構造函數來創建正則表達式,返回值是包含了匹配結果的數組。

        match()方法中的regexp正則表達式一般又分為兩種情況:有設置全局標志g和沒有設置全局標志

        1、有設置全局標志

        如果設置了全局標志g,則返回的數組包含的就是出現在字符串的所有匹配結果,例如:

        // 全局匹配
        var str = "1 plus 2 equals 3";
        str.match(/\d/g); // 匹配字符串中出現的所有數字,并返回一個數組: [1,2,3]

        2、沒有設置全局標志

        如果沒有設置全局標志,則就不是全局性的檢索,只是檢索第一個匹配。這種情況下,match()方法匹配的結果也是返回一個數組,數組的第一個元素就是匹配的字符串,而余下的元素則是正則表達式中用括號括起來的子表達式。來看個例子:

        // 非全局匹配
        var str = "visit my blog at http://www.example.com";
        str.match(/(\w+):\/\/([\w.]+)/); // 返回結果:["http://www.example.com", "http", "www.example.com"]
        // 正則表達式匹配的
        結果為:http://www.example.com // 第一個子表達式 (\w+)匹配結果:http // 第二個子表達式 ([\w.])匹配結果: www.example.com

        str.split(delimiter, limit)

        定義:split()方法可以把調用它的字符串分解為一個字串數組,使用的分隔符是它的參數。

        參數:

        delimiter:字符串或者正則表達式,從該參數指定的地方分割字符串。

        limit:指定返回數組的最大長度,如果沒有設置該參數,則整個字符串都會被分割。

        例如:

        //1、 只傳一個參數,默認分割整個字符串
        var str ="a,b,c,d,e";
        str.split(','); // 返回分割的字符串數組:["a", "b", "c", "d", "e"]
        //2、傳入兩個參數
        var str ="a,b,c,d,e";
        str.split(',',3); //指定限定長度,則返回對應的數組:["a", "b", "c"]
        //3、使用正則表達式匹配,不包含分割字符串
        var str = "aa44bb55cc66dd";
        str.split(/\d+/); //通過匹配數字進行分割字符串,但不包含分割的字符串,則返回的
        結果為:["aa","bb","cc","dd"]; //4、使用正則表達式匹配,包含分割字符串 var str = "aa44bb55cc66dd"; str.split(/(\d+)/); //通過匹配數字進行分割字符串,且分割的字符串是包含在子表達式中,則返回的結果為:["aa", "44", "bb", "55", "cc", "66", "dd"]

        關于正則表達式模式匹配的String方法的相關知識,小編就給大家介紹到這里。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        javascript正則表達式匹配字符串string

        javascript正則表達式匹配字符串string:在JavaScript代碼中使用正則表達式進行模式匹配經常會用到String對象和RegExp對象的一些方法,例如replace、match、search等方法,以下是對一些方法使用的總結。 String對象中支持正則表達式有4種方法,分別是:search、replace、match、s
        推薦度:
        標簽: js 匹配 javascript
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲国产精品无码观看久久| 亚洲AV无码一区二区三区系列| 亚洲国产成+人+综合| 国产精成人品日日拍夜夜免费| 亚洲熟妇丰满多毛XXXX| 成人av片无码免费天天看| 亚洲宅男天堂在线观看无病毒| 三级网站在线免费观看| 亚洲精品国产品国语在线| 91精品全国免费观看青青| 亚洲产国偷V产偷V自拍色戒| a级黄色毛片免费播放视频| 亚洲高清国产AV拍精品青青草原 | 又大又硬又爽又粗又快的视频免费| 亚洲成A∨人片在线观看不卡| 日本三级在线观看免费| 亚洲美女免费视频| 57PAO成人国产永久免费视频| 国产亚洲玖玖玖在线观看| 午夜成人免费视频| 老司机福利在线免费观看| 亚洲一区二区三区在线视频| 国内精品一级毛片免费看| 亚洲高清资源在线观看| 四虎成人免费影院网址| 男女啪啪免费体验区| 亚洲国产精品VA在线看黑人 | 免费黄色大片网站| 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 国产产在线精品亚洲AAVV| 亚洲天堂中文字幕在线| 麻豆精品成人免费国产片| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲一区精品伊人久久伊人| 无码av免费一区二区三区| 亚洲AV日韩综合一区尤物| 亚洲精品国产va在线观看蜜芽| 无码人妻精品中文字幕免费| 亚洲人成综合网站7777香蕉| 亚洲日韩精品无码专区网站| 97国产在线公开免费观看|