欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-23 11:25:36
正则表达式m修饰符: m修饰符规定正则表达式可以执行多行匹配。 m修饰符的作用是修改^和$在正则表达式中的作用,让它们分别表示行首和行尾。 在默认状态下,一个字符串无...

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