javascript正则表达式中参数g(全局)的作用


Posted in Javascript onNovember 11, 2010

我们详细描述:
1)对于表达式对象的exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行第二个匹配,依次类推。例如:

var regx=/user\d/; 
var str=”user18duser2dsc”; 
var rs=regx.exec(str);//此时rs的值为{user1} 
var rs2=regx.exec(str);//此时rs的值依然是{user1}

如果regx=/user\d/g:则rs的值为{user1},rs2的值为{user2}

通过这个例子说明:对于exec方法,表达式加入了g,并不是说执行exec方法就可以返回所有的匹配,而是说加入了g以后,可以通过某种方式得到所有的匹配,这里的“方式”对于exec而言,就是执行这个方法即可。
2)对于表达式对象的test方法,加入g跟不加g没有什么区别。
3)对于String对象的match方法,不加g,也只是返回第一个匹配,一直执行match方法也总是返回第一个匹配,加入g,则一次返回所有的匹配。例如:

var regx=/user\d/; 
var str=”user1dge3user2gwe”; 
var rs=str.match(regx);//此时rs的值为{user1} 
var rs2=str.match(regx);//此时rs2的值依然为{user1}

如果regx=/user\d/g,则rs的值为{user1,user2},rs2的值也为{user1,user2}

4)对于string对象的replace方法,表达式不加g,则只替换第一个匹配,如果加入g,则替换所有匹配。

5)对于String对象的split方法,加上g与不加g是一样的,即:

var sep=/user\d/; 
var array=”user1dfsfuser2dfsf”.split(sep);

则array的值为{dfsf,dfsf},当sep=/user\d/g,返回值也是一样的。

6)对于string对象的search方法,加不加g也是一样的。

Javascript 相关文章推荐
[HTML/CSS/Javascript]WWTJS
Sep 25 Javascript
js 表单验证方法(实用)
Apr 28 Javascript
js内置对象 学习笔记
Aug 01 Javascript
jQuery实现流动虚线框的方法
Jan 29 Javascript
jQuery插件boxScroll实现图片轮播特效
Jul 14 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
Oct 20 Javascript
js实现移动端编辑添加地址【模仿京东】
Apr 28 Javascript
JS实现的简单表单验证功能完整实例
Oct 14 Javascript
Vue表单及表单绑定方法
Sep 04 Javascript
简单易扩展可控性强的Jquery转盘抽奖程序
Mar 16 jQuery
vue 实现超长文本截取,悬浮框提示
Jul 29 Javascript
JavaScript流程控制(循环)
Dec 06 Javascript
工作中常用到的JS表单验证代码(包括例子)
Nov 11 #Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
Nov 11 #Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
Nov 11 #Javascript
关于firefox的ElementTraversal 接口 使用说明
Nov 11 #Javascript
将string解析为json的几种方式小结
Nov 11 #Javascript
js读取本地excel文档数据的代码
Nov 11 #Javascript
JS维吉尼亚密码算法实现代码
Nov 09 #Javascript
You might like
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
js 判断计算字符串长度/判断空的简单方法
2013/08/05 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
2013/10/11 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
2014/10/17 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
2015/12/01 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
jquery uploadify隐藏上传进度的实现方法
2017/02/06 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python中取整的几种方法小结
2017/01/06 Python
Python的高阶函数用法实例分析
2019/04/11 Python
python切片的步进、添加、连接简单操作示例
2019/07/11 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
python模块如何查看
2020/06/16 Python
美国时装品牌:Nautica(诺帝卡)
2016/08/28 全球购物
飞利浦美国官网:Philips美国
2020/02/28 全球购物
2014年乡镇工作总结
2014/11/21 职场文书
企业法律事务工作总结
2015/08/11 职场文书
sql注入教程之类型以及提交注入
2021/08/02 MySQL
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL