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 学习之旅 (2)
Feb 05 Javascript
js实现密码强度检测【附示例】
Mar 30 Javascript
jQuery插件 Jqplot图表实例
Jun 18 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
Aug 01 Javascript
javascript中call,apply,bind函数用法示例
Dec 19 Javascript
jQuery+Ajax实现用户名重名实时检测
Jun 01 jQuery
Angular中的$watch、$watchGroup、$watchCollection
Jun 25 Javascript
vue2.0 axios前后端数据处理实例代码
Jun 30 Javascript
vue element动态渲染、移除表单并添加验证的实现
Jan 16 Javascript
微信小程序实现的一键复制功能示例
Apr 24 Javascript
Vue发布项目实例讲解
Jul 17 Javascript
微信小游戏中three.js离屏画布的示例代码
Oct 12 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
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
2015/10/10 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
Javascript中的this绑定介绍
2011/09/22 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
JavaScript实现带标题的图片轮播特效
2015/05/20 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
2015/08/06 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
Django数据库表反向生成实例解析
2018/02/06 Python
python实现视频分帧效果
2019/05/31 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
用css3写出气球样式的示例代码
2017/09/11 HTML / CSS
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
谢师宴学生致辞
2015/07/27 职场文书
法制主题班会教案
2015/08/13 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
微软Win11有哪些隐藏功能? windows11多个功能汇总
2021/11/21 数码科技
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
浅谈Redis缓冲区机制
2022/06/05 Redis