m修饰符规定正则表达式可以执行多行匹配,在默认状态下,一个字符串无论是否换行只有一个开始^和结尾$,如果采用多行匹配,那么每一个行都有一个^和结尾$
正则表达式m修饰符:
m修饰符规定正则表达式可以执行多行匹配。
m修饰符的作用是修改^和$在正则表达式中的作用,让它们分别表示行首和行尾。
在默认状态下,一个字符串无论是否换行只有一个开始^和结尾$,如果采用多行匹配,那么每一个行都有一个^和结尾$。
语法结构:
构造函数方式:
new RegExp("regexp","m")
对象直接量方式:
/regexp/m
浏览器支持:
IE浏览器支持此元字符。
火狐浏览器支持此元字符。
谷歌浏览器支持此元字符。
实例代码:
实例一:
var str="This is an\n antzone good"; var reg=https://www.jb51.net/an$/; console.log(str.match(reg));
以上代码不能够匹配字符串"an",尽管"an"后面已经换行了,但是并没有采用多行匹配,所以不是字符串行的结尾。
实例二:
var str="This is an\n antzone good"; var reg=https://www.jb51.net/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在字符串第二行的行首,所以可以成功地匹配。
您可能感兴趣的文章: