正則表達式中參數g、i、m的作用(share)


 

參數 g

g 只影響於 exec、match 方法。

若不指定 g,則:每次調用 exec 都只返回第一個匹配;match 也是只返回第一個匹配。

若指定 g,則:每次調用 exec 都從上一個匹配之后查找新的匹配;match 則是返回所有的匹配。

 

還有一種情況,就是使用 string 對象的 replace 方法時,指定 g 表示替換所有。

var str = “1a1b1c”;

alert(str.replace(/1/, “”)); // a1b1c

alert(str.replace(/1/g, “”)); // abc

 

參數 i

參數 i 是指忽略大小寫,注意僅是忽略大小寫,並不忽略全半角。

 

參數 m

m 影響對行首、行尾的解釋,也就是影響 ^、$。

若不指定 m,則:^ 只在字符串的最開頭,$ 只在字符串的最結尾。

若指定 m,則:^ 在字符串每一行的開頭,$ 在字符串第一行的結尾。

var str = “123\r\n456″;

var reg1 = new RegExp(“^123$\r\n^456$”, “m”); // true

var reg2 = new RegExp(“^123$\r\n^456$”, “”); // false

var reg3 = new RegExp(“123\r\n456″, “m”); // true

var reg4 = new RegExp(“123\r\n456″, “”); // true

alert(reg1.test(str) + “\r\n” + reg2.test(str) + “\r\n” + reg3.test(str) + “\r\n” + reg4.test(str));

 

 

轉自:http://www.smalluv.com/regex_parameter_g_i_m.html

 

 

 


免責聲明!

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



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