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 相关文章推荐
javascript parseInt 函数分析(转)
Mar 21 Javascript
js 匿名调用实现代码
Jun 19 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
Jun 04 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
May 22 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
Apr 29 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
Aug 04 Javascript
初学vue出现空格警告的原因及其解决方案
Oct 31 Javascript
Vue项目中Api的组织和返回数据处理的操作
Nov 04 Javascript
webpack.DefinePlugin与cross-env区别详解
Feb 23 Javascript
JS highcharts动态柱状图原理及实现
Oct 16 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
Dec 09 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 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php数组应用之比较两个时间的相减排序
2008/08/18 PHP
php中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
js类中的公有变量和私有变量
2008/07/24 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
jQuery中even选择器的定义和用法
2014/12/23 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
2015/03/25 Javascript
JavaScript获得url查询参数的方法
2015/07/02 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
用Python实现一个简单的线程池
2015/04/07 Python
详解Python的Django框架中Manager方法的使用
2015/07/21 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
Python 保存矩阵为Excel的实现方法
2019/01/28 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
python如何变换环境
2020/07/21 Python
Java语言程序设计测试题改错题部分
2014/07/22 面试题
办公室主任竞聘演讲稿
2014/05/15 职场文书
银行求职信
2014/05/31 职场文书
工伤事故赔偿协议书
2014/10/27 职场文书
临时工聘用合同协议书
2014/10/29 职场文书
2014年党支部工作总结
2014/11/13 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
家长给老师的感谢信
2015/01/20 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
入党申请书格式
2019/06/20 职场文书
用Java实现简单计算器功能
2021/07/21 Java/Android
详解MySql中InnoDB存储引擎中的各种锁
2022/02/12 MySQL