广州明生堂生物科技有限公司


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

网络编程 正则表达式m修饰符(多行匹配) 06-21

正则表达式m修饰符:

m修饰符规定正则表达式可以执行多行匹配。
m修饰符的作用是修改^和$在正则表达式中的作用,让它们分别表示行首和行尾。
在默认状态下,一个字符串无论是否换行只有一个开始^和结尾$,如果采用多行匹配,那么每一个行都有一个^和结尾$。

语法结构:
构造函数方式:

new RegExp("regexp","m")

对象直接量方式:

/regexp/m

浏览器支持:
IE浏览器支持此元字符。
火狐浏览器支持此元字符。
谷歌浏览器支持此元字符。

实例代码:
实例一:

var str="This is ann antzone good"; 
var reg=/an$/;
console.log(str.match(reg));

以上代码不能够匹配字符串"an",尽管"an"后面已经换行了,但是并没有采用多行匹配,所以不是字符串行的结尾。

实例二:

var str="This is ann antzone good"; 
var reg=/an$/m;
console.log(str.match(reg));

以上代码可以匹配字符串"an",因为采用了多行匹配。

实例三:

var reg = /^b/;
var str = 'testnbbs';
execReg(reg,str);

匹配失败,因为字符串的开头没有b字符。但是加上m修饰符之后:

实例四:

var reg = /^b/m;
var str = 'testnbbs';
execReg(reg,str);

匹配到b,因为加了m修饰符之后,^已经表示行首,由于bbs在字符串第二行的行首,所以可以成功地匹配。

正则表达式模式修饰符
i(PCRE_CASELESS)如果设置了这个修饰符,模式中的字母会进行大小写不敏感匹配。m(PCRE_MULTILINE)默认情况下,PCRE认为目标字符串是由单行字符组成的(然而实

ES2015 正则表达式新增特性
ES2015正则表达式新增特性:在原来正则表达式基础上,ES2015增强了对四字节unicode字符的支持等功能。更多正则表达式内容可以参阅正则表达式教程板块。

正则表达式u修饰符(支持UTF-16编码)
正则表达式u修饰符:此修饰符标识能够正确处理大于uFFFF的Unicode字符。也就是说,会正确处理四个字节的UTF-16编码。此修饰符是ES2015新增,更多正则表


编辑:广州明生堂生物科技有限公司

标签:修饰符,字符,正则表达式,字符串,实例