正則表達(dá)式g修飾符:
g修飾符用語規(guī)定正則表達(dá)式執(zhí)行全局匹配,也就是在找到第一個匹配之后仍然會繼續(xù)查找。
語法結(jié)構(gòu):
構(gòu)造函數(shù)方式:
對象直接量方式:
/regexp/g
瀏覽器支持:
IE瀏覽器支持此元字符。
火狐瀏覽器支持此元字符。
谷歌瀏覽器支持此元字符。
實(shí)例代碼:
實(shí)例一:
var str="this is an antzone good";
var reg=/an/;
console.log(str.match(reg));
以上代碼只能夠匹配第一個"an",因?yàn)椴]有進(jìn)行全局匹配,在第一個匹配成功之后,就不再繼續(xù)匹配了。
實(shí)例二:
var str="this is an antzone good";
var reg=/an/g;
console.log(str.match(reg));
以上代碼能夠匹配到兩個"an"。
下面是補(bǔ)充
本文章來詳細(xì)介紹js中正則表達(dá)式的全局匹配模式 /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)建正則表達(dá)式對象時如果使用了“g”標(biāo)識符或者設(shè)置它了的global屬性值為ture時,那么新創(chuàng)建的正則表達(dá)式對象將使用模式對要將要匹配的字符串進(jìn)行全局匹配。在全局匹配模式下可以對指定要查找的字符串執(zhí)行多次匹配。每次匹配使用當(dāng)前正則對象的lastIndex屬性的值作為在目標(biāo)字符串中開始查找的起始位置。lastIndex屬性的初始值為0,找到匹配的項(xiàng)后lastIndex的值被重置為匹配內(nèi)容的下一個字符在字符串中的位置索引,用來標(biāo)識下次執(zhí)行匹配時開始查找的位置,如果找不到匹配的項(xiàng)lastIndex的值會被設(shè)置為0。當(dāng)沒有設(shè)置正則對象的全局匹配標(biāo)志時lastIndex屬性的值始終為0,每次執(zhí)行匹配僅查找字符串中第一個匹配的項(xiàng)??梢酝ㄏ旅娴拇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
您可能感興趣的文章:- 正則表達(dá)式中最短匹配模式的用法淺析
- JS中正則表達(dá)式全局匹配模式 /g用法詳解
- Java 正則表達(dá)式匹配模式(貪婪型、勉強(qiáng)型、占有型)
- 正則表達(dá)式惰性匹配模式(?)
- 正則表達(dá)式常見的4種匹配模式小結(jié)