JavaScript 正则表达式中global模式的特性


Posted in Javascript onFebruary 25, 2016

返回 Boolean 值,指出正则表达式使用的global 标志 (g) 的状态。默认值为 false。只读。 rgExp.global 必选项 rgExp 参数是正则表达式对象。 如果正则表达式设置了global 标志,那么global 属性返回 true,否则返回 false。 使用 global 标志表明在被查找的字符串中搜索操作将查找所有符合的项,而不仅仅是第一个。这也被称为全局匹配。

一直不是很清楚javascript的global到底表现在哪些方面,所以今天特地做了几个测试:

var str = 'bbaaabb',
reg = /^b|b$/;

while(reg.test(str)){


str = str.replace(reg,'');


console.log(reg.lastIndex + ":" + str);

}

最终结果:

//0:baaabb
//0:aaabb
//0:aaab
//0:aaa

但是如果稍做一些修改

var str = 'bbaaabb',
reg = /^b|b$/g;

while(reg.test(str)){


str = str.replace(reg,'');


console.log(reg.lastIndex + ":" + str);

}

最终结果则是:

//0:baaab
//0:aaa

这样的结果说明,global模式下,在匹配到了开始的b字符后,还将继续匹配结尾的b字符,从而忽视掉中间"|"操作符。

JavaScript 正则表达式中global模式的特性就给大家介绍这么多,希望对大家有所帮助!

Javascript 相关文章推荐
远离JS灾难css灾难之 js私有函数和css选择器作为容器
Dec 11 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
Oct 23 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
Nov 03 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
Apr 29 Javascript
JavaScript的模块化开发框架Sea.js上手指南
May 12 Javascript
ES6中Symbol类型用法实例详解
Apr 06 Javascript
bootstrap多层模态框滚动条消失的问题
Jul 21 Javascript
详解React Native网络请求fetch简单封装
Aug 10 Javascript
JavaScript判断输入是否为数字类型的方法总结
Sep 28 Javascript
Node做中转服务器转发接口
Oct 18 Javascript
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
vue-cli3 DllPlugin 提取公用库的方法
Apr 24 Javascript
javascript动态获取登录时间和在线时长
Feb 25 #Javascript
基于javascript实现动态时钟效果
Aug 18 #Javascript
jQuery使用zTree插件实现树形菜单和异步加载
Feb 25 #Javascript
灵活的理解JavaScript中的this指向
Feb 25 #Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
Feb 25 #Javascript
jQuery插件实现文字无缝向上滚动效果代码
Feb 25 #Javascript
jQuery zTree加载树形菜单功能
Feb 25 #Javascript
You might like
PHP无限分类的类
2007/01/02 PHP
PHP缓存技术的多种方法小结
2012/08/14 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
React 源码中的依赖注入方法
2018/11/07 Javascript
js实现表格数据搜索
2020/08/09 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
jquery实现拖拽添加元素功能
2020/12/01 jQuery
python使用openpyxl库修改excel表格数据方法
2018/05/03 Python
python 中字典嵌套列表的方法
2018/07/03 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
大学生心理活动总结
2014/07/04 职场文书
终止劳动合同协议书
2014/10/05 职场文书
公司周年庆典标语
2014/10/07 职场文书
具结保证书范本
2015/05/11 职场文书
调解书格式范本
2015/05/20 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
2015年体检中心工作总结
2015/05/27 职场文书
Go遍历struct,map,slice的实现
2021/06/13 Golang
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL