JS正则表达式修饰符中multiline(/m)用法分析


Posted in Javascript onDecember 27, 2016

本文实例分析了JS正则表达式修饰符中multiline(/m)用法。分享给大家供大家参考,具体如下:

JavaScript正则表达式有3种修饰符/i、/m和/g。/i是我们最常用,也是最好理解的,代表正则表达式匹配的时候不区分大小写。

var regex = /abc/i;
alert(regex.test("aBc"));//true

/m代表多行模式multiline,如果目标字符串中不含有换行符\n,即只有一行,那么/m修饰符没有任何意义

var multiline = /abc/m;
var singleline = /abc/;
//目标字符串不含换行符\n
var target = "abcabcabc";

如果正则表达式中不含有^或$匹配字符串的开头或结尾,那么/m修饰符没有任何意义

//正则表达式不含^或$
var multiline = /abc/m;
var singleline = /abc/;
var target = "abcab\ncabc";

也就是说只有当目标字符串含有\n,而且正则表达式中含有^或$的时候,/m修饰符才有作用。如果 multiline 为 false,那么“^”与字符串的开始位置相匹配,而“$”与字符串的结束位置相匹配。 如果 multiline 为 true,那么“^”与字符串开始位置以及“\n”或“\r”之后的位置相匹配,而“$”与字符串结束位置以及“\n”或“\r”之前的位置相匹配。

var mutiline = /^abc/m;
var singleline = /^abc/;
var target = "ef\r\nabcd";
alert(mutiline.test(target));//true
alert(singleline.test(target));//false

\r\n在windows下代表换行,如果只有1个\n也是一样的效果。由于target不是以abc开头的字符串,所以匹配singleline的结果是false;由于target是多行字符串(含有\n),而第2行是以abc开头,所以匹配multiline结果是true。

Javascript 相关文章推荐
jquery通过a标签删除table中的一行的代码
Dec 02 Javascript
jQuery移除元素自动解绑事件实现思路及代码
May 31 Javascript
基于jQuery实现二级下拉菜单效果
Feb 01 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
Apr 29 Javascript
详解Angular.js的$q.defer()服务异步处理
Nov 06 Javascript
网络传输协议(http协议)
Nov 18 Javascript
Angular2自定义分页组件
Apr 19 Javascript
js canvas实现放大镜查看图片功能
Jun 08 Javascript
详解Node.js一行命令上传本地文件到服务器
Apr 22 Javascript
微信小程序点餐系统开发常见问题汇总
Aug 06 Javascript
微信小程序实现图片翻转效果的实例代码
Sep 20 Javascript
vue实现购物车加减
May 30 Javascript
jQuery Validate插件自定义验证规则的方法
Dec 27 #Javascript
webuploader模态框ueditor显示问题解决方法
Dec 27 #Javascript
正则中的回溯定义与用法分析【JS与java实现】
Dec 27 #Javascript
Vue.js双向绑定操作技巧(初级入门)
Dec 27 #Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
Dec 27 #Javascript
JS使用正则实现去掉字符串左右空格的方法
Dec 27 #Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
Dec 27 #Javascript
You might like
PHP 读取和修改大文件的某行内容的代码
2009/10/30 PHP
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
JS代码同步文本框内容的实例方法
2013/07/12 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
js获取下拉列表的值和元素个数示例
2014/05/07 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
H5上传本地图片并预览功能
2017/05/08 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
python通过pil模块获得图片exif信息的方法
2015/03/16 Python
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
Python TestCase中的断言方法介绍
2019/05/02 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
Python如何急速下载第三方库详解
2020/11/02 Python
Python 中Operator模块的使用
2021/01/30 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
平面设计的岗位职责
2013/11/08 职场文书
巾帼建功标兵事迹材料
2014/05/11 职场文书
酒店节能减排方案
2014/05/26 职场文书
就业协议书样本
2014/08/20 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
详解Oracle块修改跟踪功能
2021/11/07 Oracle
Python内置数据类型中的集合详解
2022/03/18 Python