整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JavaScript字符串match()方法教程

          JavaScript字符串match()方法教程

          、簡介

          match()方法是JavaScript中字符串對象的方法之一,它可以用來在一個字符串中查找匹配的子串,并返回一個包含匹配結果的數組。match()方法可以接收一個參數,這個參數可以是正則表達式對象或者一個字符串。

          二、語法

          三、參數解釋

          string:要進行匹配的字符串。

          regexp:一個正則表達式對象或者一個字符串。

          四、使用實例

          實例1:使用正則表達式進行匹配

          輸出:

          ["World", index: 6, input: "Hello World", groups: undefined]

          實例2:使用字符串進行匹配

          輸出:

          ["World", index: 6, input: "Hello World", groups: undefined]

          實例3:使用正則表達式進行全局匹配

          輸出:

          ["l", "l", "l"]

          五、注意事項

          1、如果沒有匹配到結果,則返回null。

          2、如果正則表達式沒有使用全局標志,則只會返回第一個匹配結果。

          3、如果正則表達式使用了全局標志,返回的數組會包含所有匹配結果。

          4、如果正則表達式使用了分組,則返回的數組中會包含分組的匹配結果。

          六、常用在哪里

          match()方法在JavaScript中非常常用,它可以用于處理字符串的各種操作,例如:

          1、提取字符串中的數字、字母、標點等特定字符。

          2、驗證字符串是否符合特定的格式要求。

          3、在字符串中查找特定的子串。

          4、檢查字符串中是否包含敏感詞匯等內容。

          5、將字符串中的特定字符替換為其他字符。

          earch match:

          // search  match  
          let str="jiajia.com"
          console.log(str.search("a"));//2 search匹配到返回所在的索引,沒找到返回-1
          console.log(str.match(/a/gi));//['a', 'a']


          matchAll:

          avascript中與正則表達式有關的匹配字符串的函數主要有RegExp類的方法exec(string)以及String類的方法match(regex)

          1、exec是正則表達式的方法,而不是字符串的方法,它的參數才是字符串,如下所示:

          const re=new RegExp(/\d/);

          const str="hello5world";

          或者使用perl風格:

          /\d/.exec( "hello5world" );

          match才是字符串類提供的方法,它的參數是正則表達式對象,如下用法是正確的:

          "hello5world".match(\d);

          2、exec和match返回的都是數組

          如果執行exec方法的正則表達式沒有分組(沒有括號括起來的內容),那么如果有匹配,他將返回一個只有一個元素的數組,這個數組唯一的元素就是該正則表達式匹配的第一個串;如果沒有匹配則返回null。

          下面兩個alert函數彈出的信息是一樣的:

          const str="good,look" ;

          const p=/oo/; //沒有g屬性

          alert(p.exec(str))

          alert(str.match(p))

          都是"oo"。在這種場合下exec等價于match。

          但是如果正則表達式是全局匹配(g屬性)的,那么以上代碼結果不一樣了:

          const str="good,look" ;

          const p=/oo/g; //沒有g屬性

          alert(p.exec(str))

          alert(str.match(p))

          分別是

          "oo"

          "oo,oo"。

          因為exec永遠只返回第一個匹配,而match在正則指定了g屬性的時候,會返回所有匹配。

          3、exec如果找到了匹配,而且包含分組的話,返回的數組將包含多個元素,第一個元素是找到的匹配,之后的元素依次為該匹配中的第一、第二...個分組

          如下的代碼將彈出"cat2,at":

          const str="goo2,look" ;

          const p=/g(oo)\d/;

          alert(p.exec(str))

          其中第一個元素是匹配的字符串"goo2",之后的元素是括號中匹配的"oo"。

          4、match函數在滿足如下條件下,實現和exec一樣的功能:

          1、正則表達式中含有分組(括號)

          2、返回唯一的匹配

          且看如下的代碼:

          const str="goo2,look" ;

          const p=/g(oo)\d/;

          alert(p.exec(str))

          alert(str.match(p))

          都將彈出消息"goo2,oo"

          總結:

          match是返回所有匹配的字符串合成的數組,但是正則表達式必須指定全局g屬性才能返回所有匹配,不指定g屬性則會返回一個只有一個元素的數組。

          exec永遠返回與第一個匹配相關的信息,其返回數組包括第一個匹配的字串,之后分別是第一個匹配的分組, 第二...個匹配的分組


          主站蜘蛛池模板: 亚洲日本一区二区三区在线不卡| 好吊视频一区二区三区| 男人的天堂精品国产一区| 免费高清在线影片一区| 中文字幕国产一区| 一区二区精品在线观看| 精品无码中出一区二区| 一区二区三区免费在线观看| V一区无码内射国产| 亚洲日韩激情无码一区| 亚洲一区二区三区高清| 日韩一区二区在线免费观看| 无码人妻久久一区二区三区| 波多野结衣精品一区二区三区| 亚洲AV无码一区二区二三区入口| 国模精品一区二区三区视频| 亚洲国产国产综合一区首页| 国产精品自在拍一区二区不卡| 亚洲av无码一区二区三区乱子伦| 日韩国产免费一区二区三区| 国产成人精品视频一区| 麻豆va一区二区三区久久浪| 一区二区中文字幕在线观看| 亚洲高清一区二区三区| 无码人妻一区二区三区在线| 69福利视频一区二区| 无码精品一区二区三区| 性色AV一区二区三区| 国产成人精品亚洲一区| 国产成人av一区二区三区不卡 | 国产在线aaa片一区二区99| 国产激情一区二区三区四区| 亚洲V无码一区二区三区四区观看| 中文字幕在线精品视频入口一区| 日韩精品电影一区亚洲| 在线电影一区二区三区| 无码少妇A片一区二区三区| 韩国精品福利一区二区三区| 精品一区二区久久| 国产精品一区二区在线观看| 成人丝袜激情一区二区|