JS正则表达式修饰符中multiline(/m)用法分析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JS正则表达式修饰符中multiline(/m)用法分析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1413字,纯文字阅读大概需要3分钟。
内容图文
![JS正则表达式修饰符中multiline(/m)用法分析](/upload/InfoBanner/zyjiaocheng/304/30379792b8dc40bab1ae8df2e1e31a7d.jpg)
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程序设计有所帮助。
更多JS正则表达式修饰符中multiline(/m)用法分析相关文章请关注PHP中文网!
内容总结
以上是互联网集市为您收集整理的JS正则表达式修饰符中multiline(/m)用法分析全部内容,希望文章能够帮你解决JS正则表达式修饰符中multiline(/m)用法分析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。