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 浮动广告实现代码
Dec 25 Javascript
jQuery.query.js 取参数的两点问题分析
Aug 06 Javascript
JavaScript解析URL参数示例代码
Aug 12 Javascript
jQuery中使用each处理json数据
Apr 23 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
Sep 04 Javascript
JavaScript中一些特殊的字符运算
Aug 17 Javascript
微信小程序开发之IOS和Android兼容的问题
Sep 26 Javascript
vue cli 3.0 使用全过程解析
Jun 14 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
Jul 04 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
Jul 12 jQuery
对vux点击事件的优化详解
Aug 28 Javascript
Vue使用轮询定时发送请求代码
Aug 10 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
支持oicq头像的留言簿(一)
2006/10/09 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
JavaScript简单实现合并两个Json对象的方法示例
2017/10/16 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
vue使用微信JS-SDK实现分享功能
2019/08/23 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
vue数据响应式原理知识点总结
2020/02/16 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
Python中functools模块函数解析
2017/03/12 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
Django添加sitemap的方法示例
2018/08/06 Python
详解Python的数据库操作(pymysql)
2019/04/04 Python
Python: 传递列表副本方式
2019/12/19 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
一套带网友答案的.NET笔试题
2016/12/06 面试题
关于爱情的广播稿
2014/01/16 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
社区个人对照检查材料(群众路线)
2014/09/26 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
2015年党支部书记工作总结
2015/05/21 职场文书
高考1977观后感
2015/06/04 职场文书
浅谈什么是SpringBoot异常处理自动配置的原理
2021/06/21 Java/Android