JavaScriptRegex模式比對(4)——使用exec返回數組、捕獲性分組和非捕獲性分組、嵌套分組

來源:互聯網
上載者:User

標籤:gpo   運算式   att   注意   abc   log   Regex   rip   正則表達   

使用exec返回數組
var pattern=/^[a-z]+\s[0-9]{4}$/;    var str=‘google 2012‘;   alert(pattern.exec(str));  //返回一個包含字串的數組var pattern=/^[a-z]+/;    //只匹配到字母var str=‘google 2012‘;   alert(pattern.exec(str));  //只返回google的字串數組var pattern=/^([a-z]+)\s([0-9]{4})$/;  //使用了分組    var str=‘google 2012‘;   var a=pattern.exec(str);alert(a.length);     //返回a的長度 3alert(a[0]);         //返回匹配到的整個字串alert(a[1]);         //返回匹配到的第一個分組的字串alert(a[2]);         //返回匹配到的第二個分組的字
捕獲性分組和非捕獲性分組
 1 var pattern=/(\d+)([a-z])/;  // 這個叫做捕獲性分組,所有的分組都捕獲返回 2 var str=‘123abc‘;    3 var a=pattern.exec(str); 4 alert(a[0]);         //返回匹配到的整個字串 123a  5 alert(a[1]);         //返回匹配到的第一個分組的字串 123 6 alert(a[2]);         //返回匹配到的第二個分組的字串  7  8 var pattern=/(\d+)(?:[a-z])/;  // 非捕獲性分組,只要在不需要捕獲返回的分組加上?: 9 var str=‘123abc‘;   10 alert(pattern.exec(str));
嵌套分組
1 var pattern=/(a?(b?(c?)))/;  // 嵌套分組,從外往內擷取2 var str=‘abc‘;   3 alert(pattern.exec(str));4 //第一步:a[0],整個匹配到的字串abc5 //第二步:a[1],匹配第一個分組(a?(b?(c?))),abc6 //第三步:a[2],匹配第二個分組(b?(c?)),bc7 //第四步:a[3],匹配第三個分組(c?),
前瞻捕獲
1 var pattern=/goo(?=gle)/;  // goo後面必須是gle才能返回goo,這裡一定要注意返回的是goo,而不是google2 var str=‘google‘;   3 alert(pattern.exec(str));  

 

JavaScriptRegex模式比對(4)——使用exec返回數組、捕獲性分組和非捕獲性分組、嵌套分組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.