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 相关文章推荐
javascript实现的使用方向键控制光标在table单元格中切换
Nov 17 Javascript
jQuery实现设置、移除文本框默认值功能
Jan 13 Javascript
JQuery Mobile实现导航栏和页脚
Mar 09 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
Sep 21 Javascript
AngularJS通过$http和服务器通信详解
Sep 21 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
Mar 13 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
Apr 14 Javascript
JS模拟超市简易收银台小程序代码解析
Aug 18 Javascript
vue项目中使用vue-i18n报错的解决方法
Jan 13 Javascript
原生JS实现萤火虫效果
Mar 07 Javascript
vscode 调试 node.js的方法步骤
Sep 15 Javascript
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
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实现单例模式最安全的做法
2014/06/13 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
jQuery源码分析-04 选择器-Sizzle-工作原理分析
2011/11/14 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
使用JavaScript的AngularJS库编写hello world的方法
2015/06/23 Javascript
Windows系统下Node.js的简单入门教程
2015/06/23 Javascript
深入浅析jQuery对象$.html
2016/08/22 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
vue使用Proxy实现双向绑定的方法示例
2019/03/20 Javascript
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
python 多线程应用介绍
2012/12/19 Python
python实现的登录和操作开心网脚本分享
2014/07/09 Python
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
python的slice notation的特殊用法详解
2019/12/27 Python
python二维图制作的实例代码
2020/12/03 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
电子商务专业个人的自我评价
2013/11/19 职场文书
婚前财产协议书范本
2014/10/19 职场文书
通报表扬范文
2015/01/17 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书