


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
为了解答“正则表达式(/0-9/g,)中的/g是什么意思?”这个问题,也为了能够便于大家对正则表达式有一个更为综合和深刻的认识,我将一些关键点和容易犯糊涂的地方再系统总结一下。总结1:附件参数g的用法 表达式加上参数g之后,表明可以进行全局匹配,注意这里“可以”的含义。我们详细叙述: 1)对于表达式对象的exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推。例如var regx=/userd/; var str=“user18dsdfuser2dsfsd”; var rs=regx.exec(str);/此时rs的值为user1 var rs2=regx.exec(str);/此时rs的值依然为user1 如果regx=/userd/g;则rs的值为user1,rs2的值为user2 通过这个例子说明:对于exec方法,表达式加入了g,并不是说执行exec方法就可以返回所有的匹配,而是说加入了g之后,我可以通过某种方式得到所有的匹配,这里的“方式”对于exec而言,就是依次执行这个方法即可。2)对于表达式对象的test方法,加入g于不加上g没有什么区别。 3)对于String对象的match方法,不加入g,也只是返回第一个匹配,一直执行match方法也总是返回第一个匹配,加入g,则一次返回所有的匹配(注意这与表达式对象的exec方法不同,对于exec而言,表达式即使加上了g,也不会一次返回所有的匹配)。例如:var regx=/userd/; var str=“user1sdfsffuser2dfsdf”; var rs=str.match(regx);/此时rs的值为user1 var rs2=str.match(regx);/此时rs的值依然为user1 如果regx=/userd/g,则rs的值为user1,user2,rs2的值也为user1,user2 4)对于String对象的replace方法,表达式不加入g,则只替换第一个匹配,如果加入g,则替换所有匹配。(开头的三道测试题能很好的说明这一点) 5)对于String对象的split方法,加上g与不加g是一样的,即: var sep=/userd/; var array=“user1dfsfuser2dfsf”.split(sep); 则array的值为dfsf, dfsf 此时sep=/userd/g,返回值是一样的。 6)对于String对象的search方法,加不加g也是一样的。 总结2:附加参数m的用法 附加参数m,表明可以进行多行匹配,但是这个只有当使用和$模式时才会起作用,在其他的模式中,加不加入m都可以进行多行匹配(其实说多行的字符串也是一个普通字符串),我们举例说明这一点1)使用的例子 var regx=/b./g; var str=“bd76 dfsdf sdfsdfs dffs b76dsf sdfsdf”; var rs=str.match(regx); 此时加入g和不加入g,都只返回第一个匹配bd,如果regx=/b./gm,则返回所有的匹配bd,b7,注意如果regx=/b./m,则也只返回第一个匹配。所以,加入m表明可以进行多行匹配,加入g表明可以进行全局匹配,综合到一起就是可以进行多行全局匹配2)使用其他模式的例子,例如 var regx=/userd/; var str=“sdfsfsdfsdf sdfsuser3 dffs b76dsf user6”; var rs=str.match(regx); 此时不加参数g,则返回user3,加入参数g返回user3,user6,加不加入m对此没有影响。 3)因此对于m我们要清楚它的使用,记住它只对和$模式起作用,在这两种模式中,m的作用为:如果不加入m,则只能在第一行进行匹配,如果加入m则可以在所有的行进行匹配。我们再看一个的例子var regx=/b./; var str=“ret76 dfsdf bjfsdfs dffs b76dsf sdfsdf”; var rs=str.match(regx); 此时rs的值为null,如果加入g,rs的值仍然为null,如果加入m,则rs的值为bj(也就是说,在第一行没有找到匹配,因为有参数m,所以可以继续去下面的行去找是否有匹配),如果m和g都加上,则返回bj,b7(只加m不加g说明,可以去多行进行匹配,但是找到一个匹配后就返回,加入g表明将多行中所有的匹配返回,当然对于match方法是如此,对于exec呢,则需要执行多次才能依次返回)总结3:在HTML的textarea输入域中,按一个Enter键,对应的控制字符为“rn”,即“回车换行”,而不是“nr”,即“换行回车”,我们看一个前面我们举过的例子:var regx=/arnbc/; var str=“a bc”; var rs=re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级地理黄河流域专题讲稿
- 小学科学上册复习提纲及辅导资料
- 建筑材料质量检验流程标准
- 野外动物大眼睛羚羊教学教案设计
- 班主任心理疏导工作案例分享
- 2025-2030发酵型辣椒酱菌种选育与风味物质形成机理报告
- 2025-2030动力电池铝塑膜耐电解液腐蚀改良报
- 2025-2030动力电池梯次利用经济模型构建与退役电池检测标准
- 2025-2030动力电池梯次利用技术经济性分析与政策激励机制
- 2025-2030动力电池梯次利用商业模式与政策支持报告
- 中铁四局工作汇报与战略规划
- 幼儿园教师防恐防暴安全知识培训
- 中国禁毒法课件
- 浅谈机关干部身心健康
- 湖南省多测合一收费指导标准(试行)2024年版
- 2025年抗菌药物合理使用培训
- 期货技术指标培训课件
- 项目融资合同及还款计划安排说明
- 2025年乡村文化旅游发展报告:文旅融合下的乡村旅游生态旅游规划与实施研究
- 咖啡知识培训课件
- 施工进度管理的措施
评论
0/150
提交评论