js正則標志/g /i /m的用法,以及實例


一,js正則標志/g,/i,/m說明

1,/g 表示該表達式將用來在輸入字符串中查找所有可能的匹配,返回的結果可以是多個。如果不加/g最多只會匹配一個

2,/i  表示匹配的時候不區分大小寫

3,/m 表示多行匹配,什么是多行匹配呢?就是匹配換行符兩端的潛在匹配。影響正則中的^$符號

 

二,實例說明

1,/g的用法

<script type="text/javascript">  
    str = "tankZHang (231144)"+  
     "tank ying (155445)";  
    res = str.match(/tank/);    //沒有加/g  
    alert(res);                 //顯示一個tank  
  
    res = str.match(/tank/g);   //加了/g  
    alert(res);                 //顯示為tank,tank  
</script>

 

2,/i的用法

<script type="text/javascript">
    str = "tankZHang (231144)" +
     "tank ying (155445)";
    res = str.match(/zhang/);
    alert(res);                  //顯示為null  

    res = str.match(/zhang/i);   //加了/i  
    alert(res);                  //顯示為ZHang  
</script>

 

3,/m的用法

<script type="text/javascript">
    var p = /$/mg;
    var s = '1\n2\n3\n4\n5\n6';
    alert(p.test(s));  //顯示為true  
    alert(RegExp.rightContext.replace(/\x0A/g, '\\a'));  //顯示\a2\a3\a4\a5\a6  
    alert(RegExp.leftContext);    //顯示為豎的2345  
    alert(RegExp.rightContext);   //顯示為6  

    var p = /$/g;
    var s = '1\n2\n3\n4\n5\n6';
    alert(p.test(s));  //顯示為true  
    alert(RegExp.rightContext.replace(/\x0A/g, '\\a'));  //什么都不顯示  
    alert(RegExp.leftContext);    //顯示為豎的123456  
    alert(RegExp.rightContext);   //什么都不顯示  

    var p = /^/mg;
    var s = '1\n2\n3\n4\n5\n6';
    alert(p.test(s));    //顯示為true  
    alert(RegExp.rightContext.replace(/\x0A/g, '\\a')); //顯示為1\a2\a3\a4\a5\a6  
    alert(RegExp.leftContext);     //顯示為豎的12345  
    alert(RegExp.rightContext);    //顯示為6  
</script>   
  
//從上例中可以看出/m影響的^$的分割方式  
上面說的三個例子,/i,/g,/m分開來說的,可以排列組合使用的。個人覺得/m沒有多大用處  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM