正規表示式m修飾符(多行匹配)

技術之光發表於2022-03-17

正規表示式m修飾符:

m修飾符規定正規表示式可以執行多行匹配。
m修飾符的作用是修改^和$在正規表示式中的作用,讓它們分別表示行首和行尾。
在預設狀態下,一個字串無論是否換行只有一個開始^和結尾$,如果採用多行匹配,那麼每一個行都有一個^和結尾$。

語法結構:
建構函式方式:

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"後面已經換行了,但是並沒有採用多行匹配,所以不是字串行的結尾。

例項二:

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修飾符之後,^已經表示行首,由於bbs在字串第二行的行首,所以可以成功地匹配。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015103/viewspace-2871595/,如需轉載,請註明出處,否則將追究法律責任。

相關文章