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 相关文章推荐
精选的10款用于构建良好易用性网站的jQuery插件
Jan 23 Javascript
事件绑定之小测试  onclick && addEventListener
Jul 31 Javascript
用jquery统计子菜单的条数示例代码
Oct 18 Javascript
json字符串之间的相互转换示例代码
Aug 21 Javascript
javascript动态控制服务器控件实例
Sep 05 Javascript
跟我学习javascript的for循环和for...in循环
Nov 18 Javascript
vue2.0获取自定义属性的值
Mar 28 Javascript
微信小程序仿美团城市选择
Jun 06 Javascript
记一次vue-webpack项目优化实践详解
Feb 17 Javascript
vue实现百度下拉列表交互操作示例
Mar 12 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
Aug 29 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
Nov 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 Rename 更改文件、文件夹名称
2011/05/24 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
PHP利用递归函数实现无限级分类的方法
2019/03/22 PHP
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
vue事件修饰符和按键修饰符用法总结
2017/07/25 Javascript
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
node.js express框架简介与实现
2019/07/23 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
在Python中使用第三方模块的教程
2015/04/27 Python
Python字符串切片操作知识详解
2016/03/28 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
利用Python爬虫给孩子起个好名字
2017/02/14 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
Python识别html主要文本框过程解析
2020/02/18 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
python数据抓取3种方法总结
2021/02/07 Python
大学生旷课检讨书
2014/01/22 职场文书
物业管理工作方案
2014/05/10 职场文书
美术课外活动总结
2014/07/08 职场文书
庆六一开幕词
2015/01/29 职场文书
技术负责人岗位职责
2015/02/10 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技