本文實例分析了JS正規表示式修飾符中multiline(/m)用法。分享給大家參考,具體如下:
JavaScript正規表示式有3種修飾符/i、/m和/g。 /i是我們最常用,也是最好理解的,代表正規表示式匹配的時候不區分大小寫。
var regex = /abc/i; alert(regex.test("aBc"));//true
/m代表多行模式multiline,如果目標字串中不含有換行符n,即只有一行,那麼/m修飾符就沒有任何意義。
var multiline = /abc/m; var singleline = /abc/; //目标字符串不含换行符\n var target = "abcabcabc";
如果正規表示式中不含有^或$符合字串的開頭或結尾,則/m修飾符沒有任何意義。
//正则表达式不含^或$ var multiline = /abc/m; var singleline = /abc/; var target = "abcab\ncabc";
也就是說只有當目標字串含有n,而且正規表示式中含有^或$的時候,/m修飾符才有作用。如果 multiline 為 false,那麼「^」與字串的起始位置相匹配,而「$」與字串的結束位置相符。 如果multiline 為true,那麼「^」與字串開始位置以及「n」或「r」之後的位置相匹配,而「$」與字串結束位置以及「n」或「r」之前的位置相匹配。
var mutiline = /^abc/m; var singleline = /^abc/; var target = "ef\r\nabcd"; alert(mutiline.test(target));//true alert(singleline.test(target));//false
rn在windows下代表換行,如果只有1個n也是一樣的效果。由於target不是以abc開頭的字串,所以匹配singleline的結果是false;由於target是多行字串(含有n),而第2行是以abc開頭,所以匹配multiline結果是true。
希望本文所述對大家JavaScript程式設計有所幫助。
更多JS正規表示式修飾符中multiline(/m)用法分析相關文章請關注PHP中文網!