正則表達式g修飾符:
g修飾符用語規(guī)定正則表達式執(zhí)行全局匹配,也就是在找到第一個匹配之后仍然會繼續(xù)查找。
語法結(jié)構(gòu):
構(gòu)造函數(shù)方式:
new RegExp("regexp","g")
對象直接量方式:
/regexp/g
瀏覽器支持:
IE瀏覽器支持此元字符。
火狐瀏覽器支持此元字符。
谷歌瀏覽器支持此元字符。
實例代碼:
實例一:
var str="this is an antzone good"; var reg=/an/;console.log(str.match(reg));
以上代碼只能夠匹配第一個"an",因為并沒有進行全局匹配,在第一個匹配成功之后,就不再繼續(xù)匹配了。
實例二:
var str="this is an antzone good"; var reg=/an/g;console.log(str.match(reg));
以上代碼能夠匹配到兩個"an"。
下面是補充
本文章來詳細介紹js中正則表達式的全局匹配模式 /g用法,代碼如下:
var str = "123#abc"; var re = /abc/ig; console.log(re.test(str)); //輸出ture console.log(re.test(str)); //輸出false console.log(re.test(str)); //輸出ture console.log(re.test(str)); //輸出false
在創(chuàng)建正則表達式對象時如果使用了“g”標識符或者設(shè)置它了的?global屬性值為ture時,那么新創(chuàng)建的正則表達式對象將使用模式對要將要匹配的字符串進行全局匹配。在全局匹配模式下可以對指定要查找的字符串執(zhí)行多次匹配。每次匹配使用當前正則對象的lastIndex屬性的值作為在目標字符串中開始查找的起始位置。lastIndex屬性的初始值為0,找到匹配的項后lastIndex的值被重置為匹配內(nèi)容的下一個字符在字符串中的位置索引,用來標識下次執(zhí)行匹配時開始查找的位置,如果找不到匹配的項lastIndex的值會被設(shè)置為0。當沒有設(shè)置正則對象的全局匹配標志時lastIndex屬性的值始終為0,每次執(zhí)行匹配僅查找字符串中第一個匹配的項??梢酝ㄏ旅娴拇a來查看在執(zhí)行匹配相應(yīng)的lastIndex 屬性的值,代碼如下:
var str = "123#abc"; var re = /abc/ig; console.log(re.test(str)); //輸出ture console.log(re.lastIndex); //輸出7 console.log(re.test(str)); //輸出false console.log(re.lastIndex); //輸出0 console.log(re.test(str)); //輸出ture console.log(re.lastIndex); //輸出7 console.log(re.test(str)); //輸出false console.log(re.lastIndex); //輸出0
|
新聞熱點
疑難解答