正則表達式m修飾符(多行匹配)
正則表達式m修飾符:
m修飾符規(guī)定正則表達式可以執(zhí)行多行匹配。
m修飾符的作用是修改^和$在正則表達式中的作用,讓它們分別表示行首和行尾。
在默認狀態(tài)下,一個字符串無論是否換行只有一個開始^和結(jié)尾$,如果采用多行匹配,那么每一個行都有一個^和結(jié)尾$。
語法結(jié)構(gòu):
構(gòu)造函數(shù)方式:
new RegExp("regexp","m")
對象直接量方式:
/regexp/m
瀏覽器支持:
IE瀏覽器支持此元字符。
火狐瀏覽器支持此元字符。
谷歌瀏覽器支持此元字符。
實例代碼:
實例一:
var str="This is an\n antzone good"; var reg=/an$/; console.log(str.match(reg));
以上代碼不能夠匹配字符串"an",盡管"an"后面已經(jīng)換行了,但是并沒有采用多行匹配,所以不是字符串行的結(jié)尾。
實例二:
var str="This is an\n antzone good"; var reg=/an$/m; console.log(str.match(reg));
以上代碼可以匹配字符串"an",因為采用了多行匹配。
實例三:
var reg = /^b/; var str = 'test\nbbs'; execReg(reg,str);
匹配失敗,因為字符串的開頭沒有b字符。但是加上m修飾符之后:
實例四:
var reg = /^b/m; var str = 'test\nbbs'; execReg(reg,str);
匹配到b,因為加了m修飾符之后,^已經(jīng)表示行首,由于bbs在字符串第二行的行首,所以可以成功地匹配。
相關(guān)文章
匹配移動/聯(lián)通/電信手機號碼正則表達式小結(jié)
接下來為大家詳細介紹下匹配移動/聯(lián)通/電信手機號碼正則表達式,具體實現(xiàn)代碼如下,感興趣的朋友可以參考下哈2013-04-04javascript高級程序設(shè)計(第三版)學(xué)習(xí)筆記(一) 正則表達式整理
javascript高級程序設(shè)計 正則表達式整理,想學(xué)習(xí)js正則表達式的朋友可以參考下2012-08-08