正則表達(dá)式g修飾符:
g修飾符用語(yǔ)規(guī)定正則表達(dá)式執(zhí)行全局匹配,也就是在找到第一個(gè)匹配之后仍然會(huì)繼續(xù)查找。
語(yǔ)法結(jié)構(gòu):
構(gòu)造函數(shù)方式:
new RegExp("regexp","g")
對(duì)象直接量方式:
/regexp/g
瀏覽器支持:
IE瀏覽器支持此元字符。
火狐瀏覽器支持此元字符。
谷歌瀏覽器支持此元字符。
實(shí)例代碼:
實(shí)例一:
var str="this is an antzone good"; var reg=/an/;console.log(str.match(reg));
以上代碼只能夠匹配第一個(gè)"an",因?yàn)椴]有進(jìn)行全局匹配,在第一個(gè)匹配成功之后,就不再繼續(xù)匹配了。
實(shí)例二:
var str="this is an antzone good"; var reg=/an/g;console.log(str.match(reg));
以上代碼能夠匹配到兩個(gè)"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á)式對(duì)象時(shí)如果使用了“g”標(biāo)識(shí)符或者設(shè)置它了的global屬性值為ture時(shí),那么新創(chuàng)建的正則表達(dá)式對(duì)象將使用模式對(duì)要將要匹配的字符串進(jìn)行全局匹配。在全局匹配模式下可以對(duì)指定要查找的字符串執(zhí)行多次匹配。每次匹配使用當(dāng)前正則對(duì)象的lastIndex屬性的值作為在目標(biāo)字符串中開始查找的起始位置。lastIndex屬性的初始值為0,找到匹配的項(xiàng)后lastIndex的值被重置為匹配內(nèi)容的下一個(gè)字符在字符串中的位置索引,用來標(biāo)識(shí)下次執(zhí)行匹配時(shí)開始查找的位置,如果找不到匹配的項(xiàng)lastIndex的值會(huì)被設(shè)置為0。當(dāng)沒有設(shè)置正則對(duì)象的全局匹配標(biāo)志時(shí)lastIndex屬性的值始終為0,每次執(zhí)行匹配僅查找字符串中第一個(gè)匹配的項(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
新聞熱點(diǎn)
疑難解答