正则表达式m修饰符:
m修饰符规定正则表达式可以执行多行匹配。
m修饰符的作用是修改^和$在正则表达式中的作用,让它们分别表示行首和行尾。
在默认状态下,一个字符串无论是否换行只有一个开始^和结尾$,如果采用多行匹配,那么每一个行都有一个^和结尾$。
语法结构:
构造函数方式:
new RegExp("regexp","m")
对象直接量方式:
/regexp/m
浏览器支持:
IE浏览器支持此元字符。
火狐浏览器支持此元字符。
谷歌浏览器支持此元字符。
实例代码:
实例一:
1
2
3
|
var str= "This is an\n antzone good" ; var reg=/an$/; console.log(str.match(reg)); |
以上代码不能够匹配字符串"an",尽管"an"后面已经换行了,但是并没有采用多行匹配,所以不是字符串行的结尾。
实例二:
1
2
3
|
var str= "This is an\n antzone good" ; var reg=/an$/m; console.log(str.match(reg)); |
以上代码可以匹配字符串"an",因为采用了多行匹配。
实例三:
1
2
3
|
var reg = /^b/; var str = 'test\nbbs' ; execReg(reg,str); |
匹配失败,因为字符串的开头没有b字符。但是加上m修饰符之后:
实例四:
1
2
3
|
var reg = /^b/m; var str = 'test\nbbs' ; execReg(reg,str); |
匹配到b,因为加了m修饰符之后,^已经表示行首,由于bbs在字符串第二行的行首,所以可以成功地匹配。