正则表达式m修饰符(多行匹配)

时间:2021-05-02

正则表达式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在字符串第二行的行首,所以可以成功地匹配。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章