正則表達(dá)式全局匹配模式(g修飾符)
正則表達(dá)式g修飾符:
g修飾符用語規(guī)定正則表達(dá)式執(zhí)行全局匹配,也就是在找到第一個(gè)匹配之后仍然會(huì)繼續(xù)查找。
語法結(jié)構(gòu):
構(gòu)造函數(shù)方式:
new RegExp("regexp","g")
對象直接量方式:
/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á)式對象時(shí)如果使用了“g”標(biāo)識(shí)符或者設(shè)置它了的global屬性值為ture時(shí),那么新創(chuàng)建的正則表達(dá)式對象將使用模式對要將要匹配的字符串進(jìn)行全局匹配。在全局匹配模式下可以對指定要查找的字符串執(zhí)行多次匹配。每次匹配使用當(dāng)前正則對象的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è)置正則對象的全局匹配標(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
相關(guān)文章
正則表達(dá)式 特殊字符應(yīng)用分析[簡單詳細(xì)入門必看]
網(wǎng)上的東西,都沒有這個(gè)詳細(xì),對于想入手正則表達(dá)式高級(jí)應(yīng)用的朋友,也是個(gè)不錯(cuò)的資料參考。2008-11-11解決正則表示式匹配($regex)引起的一次mongo數(shù)據(jù)庫cpu占用率高的問題
這篇文章主要介紹了由正則表示式匹配($regex)引起的一次mongo數(shù)據(jù)庫cpu占用率高的問題,本文通過實(shí)例給大家分析的非常詳細(xì),需要的朋友可以參考下2019-11-11javascript利用正則快速找出兩個(gè)字符串的不同字符
2007-12-12.NET 正則表達(dá)式使用高級(jí)技巧之替換類介紹
因?yàn)?net的基本正則語法和Perl5基本相同,所以基本語法你可以去下載一下M$的JS幫助文檔,上面有詳細(xì)的說明2012-04-04