程序员

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

作者:admin 2021-04-30 我要评论

正则表达式m修饰符: m修饰符规定正则表达式可以执行多行匹配。 m修饰符的作用是修改^和$在正则表达式中的作用,让它们分别表示行首和行尾。 在默认状态下,一个...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

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


原文链接:https://m.jb51.net/article/101139.htm

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 正则表达式m修饰符(多行匹配)

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

  • .Net项目中NLog的配置和使用实例详解

    .Net项目中NLog的配置和使用实例详解

  • 很实用的NLog配置分享

    很实用的NLog配置分享

  • ASP.NET Core实现自定义WebApi模型验证

    ASP.NET Core实现自定义WebApi模型验证