正則表達(dá)式全局匹配模式(g修飾符)
正則表達(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)椴](méi)有進(jìn)行全局匹配,在第一個(gè)匹配成功之后,就不再繼續(xù)匹配了。
實(shí)例二:
var str="this is an antzone good"; var reg=/an/g; console.log(str.match(reg));
以上代碼能夠匹配到兩個(gè)"an"。
下面是補(bǔ)充
本文章來(lái)詳細(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)字符串中開(kāi)始查找的起始位置。lastIndex屬性的初始值為0,找到匹配的項(xiàng)后lastIndex的值被重置為匹配內(nèi)容的下一個(gè)字符在字符串中的位置索引,用來(lái)標(biāo)識(shí)下次執(zhí)行匹配時(shí)開(kāi)始查找的位置,如果找不到匹配的項(xiàng)lastIndex的值會(huì)被設(shè)置為0。當(dāng)沒(méi)有設(shè)置正則對(duì)象的全局匹配標(biāo)志時(shí)lastIndex屬性的值始終為0,每次執(zhí)行匹配僅查找字符串中第一個(gè)匹配的項(xiàng)??梢酝ㄏ旅娴拇a來(lái)查看在執(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
相關(guān)文章
正則表達(dá)式 特殊字符應(yīng)用分析[簡(jiǎn)單詳細(xì)入門(mén)必看]
網(wǎng)上的東西,都沒(méi)有這個(gè)詳細(xì),對(duì)于想入手正則表達(dá)式高級(jí)應(yīng)用的朋友,也是個(gè)不錯(cuò)的資料參考。2008-11-11解決正則表示式匹配($regex)引起的一次mongo數(shù)據(jù)庫(kù)cpu占用率高的問(wèn)題
這篇文章主要介紹了由正則表示式匹配($regex)引起的一次mongo數(shù)據(jù)庫(kù)cpu占用率高的問(wèn)題,本文通過(guò)實(shí)例給大家分析的非常詳細(xì),需要的朋友可以參考下2019-11-11Javascript正則表達(dá)式測(cè)試網(wǎng)頁(yè)
Javascript正則表達(dá)式測(cè)試網(wǎng)頁(yè)...2006-06-06PHP中過(guò)濾常用標(biāo)簽的正則表達(dá)式
在 php 項(xiàng)目中,經(jīng)常要用到一些過(guò)濾標(biāo)簽的正則表達(dá)式,收藏一下備用2014-05-05javascript利用正則快速找出兩個(gè)字符串的不同字符
2007-12-12.NET 正則表達(dá)式使用高級(jí)技巧之替換類(lèi)介紹
因?yàn)?net的基本正則語(yǔ)法和Perl5基本相同,所以基本語(yǔ)法你可以去下載一下M$的JS幫助文檔,上面有詳細(xì)的說(shuō)明2012-04-04