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 相关文章推荐
jQuery chili图片远处放大插件
Nov 30 Javascript
基于jQuery的简单的列表导航菜单
Mar 02 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
Oct 24 Javascript
最短的IE判断var ie=!-[1,]分析
May 28 Javascript
js实现拖拽效果
Feb 12 Javascript
浏览器中url存储的JavaScript实现
Jul 07 Javascript
分享jQuery插件的学习笔记
Jan 14 Javascript
学习使用AngularJS文件上传控件
Feb 16 Javascript
JS中多步骤多分步的StepJump组件实例详解
Apr 01 Javascript
详解动画插件wow.js的使用方法
Sep 13 Javascript
浅谈Vue数据响应
Nov 05 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
Jan 17 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生成HTML文件的类方法
2019/10/11 PHP
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
提示$ is not defined错误分析及解决
2013/04/09 Javascript
Javascript自定义排序 node运行 实例
2013/06/05 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
概述如何实现一个简单的浏览器端js模块加载器
2016/12/07 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
对python sklearn one-hot编码详解
2018/07/10 Python
分析python请求数据
2018/08/19 Python
python爬取指定微信公众号文章
2018/12/20 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
django2.0扩展用户字段示例
2019/02/13 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
2019/08/31 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
python 如何在测试中使用 Mock
2021/03/01 Python
Python 求向量的余弦值操作
2021/03/04 Python
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
师德演讲稿范文
2014/05/06 职场文书
统计工作个人总结
2015/03/03 职场文书
2015个人半年总结范文
2015/03/09 职场文书
收入证明申请书
2015/06/12 职场文书
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL