全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JS中使用正则表达式g模式和非g模式的区别

先给大家说下js正则表达式中的g到底是什么意思

g是global的缩写啊!

就是匹配全部可匹配结果,

如果你不带g,在正则过程中,字符串是从左至右匹配的,如果匹配成功就不再继续向右匹配了,如果你带g,它会重头到尾的把正确匹配的字符串挑选出来

例如:

var str = 'aaaaaaaa'
var reg1 = /a/
var reg2 = /a/g
str.match(reg1)  // 结果为:["a", index: 0, input: "aaaaaaaa"]
str.match(reg2)  // 结果为:["a", "a", "a", "a", "a", "a", "a", "a"]

js正则表达式g模式与非g模式的区别,具体代码如下所示:

<!DOCTYPE html> 
<html> 
<head lang="en"> 
  <meta charset="UTF-8"> 
  <title>mischen</title> 
  <script> 
    //js中使用正则表达式 
    function test(){ 
      //生成正则表达式对象; 
      // 在g模式下,正则表达式对象的exec和test方法,依赖 正则表达式对象的lastIndex属性,而lastIndex会根据我们exec 
      // 和test的执行 发生偏移  如果没有相应匹配  lastIndex 重归0 
      //在非g模式下,正则表达式对象的exec和test方法, lastIndex 不会发生偏移 
      //exec方法 如果正则表达式中 有分组  第一个返回的是 匹配到的字符串 后面是根据分组分别返回的匹配的 字符串 
      var reg=new RegExp("\\d+[a-z]+","ig"); //字符串里 \ 表示转译 
      var str="123abc123def"; 
      alert(reg.lastIndex);//0 
      alert(reg.exec(str));//123abc 
      alert(reg.lastIndex);//6 
      alert(reg.test(str));//true 
      alert(reg.lastIndex);//12 
    } 
   // test(); 
    test1(); 
    function test1(){ 
      //非g模式下使用 exec 和test 
      var reg=new RegExp("\\d+[a-z]+","i"); 
      var str="123abc123def"; 
//      alert(reg.lastIndex);//0 
//      alert(reg.exec(str));//123abc 
//      alert(reg.lastIndex);//0 
//      alert(reg.test(str));//true 
//      alert(reg.lastIndex);//0 
//      alert(reg.exec(str));//123abc 
//      alert(reg.lastIndex);//0 
//      alert(reg.test(str));//true 
//      alert(reg.lastIndex);//0 
      var reg=new RegExp("(\\d+)([a-z]+)","i"); 
      alert(reg.exec(str));//123abc,123,abc 
      alert(reg.exec(str));//123abc,123,abc 
    } 
  </script> 
</head> 
<body> 
</body> 
</html> 

以上所述是小编给大家介绍的JS中使用正则表达式g模式和非g模式的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js正则表达式  # g  # JS中正则表达式全局匹配模式 /g用法详解  # javascript正则表达式参数/g与/i及/gi的使用指南  # JS正则表达式修饰符global(/g)用法分析  # 正确使用带有"g"标记的javascript正则表达式  # JavaScript正则表达式中g标志详解  # 正则表达式  # 如果你  # 模式下  # 小编  # 的是  # 第一个  # 在此  # 是从  # 给大家  # 如果没有  # 所示  # 不带  # 它会  # 到底是什么  # 所述  # 给我留言  # 到尾  # 感谢大家  # 先给  # 与非 


相关文章: 智能起名网站制作软件有哪些,制作logo的软件?  高防服务器租用首荐平台,企业级优惠套餐快速部署  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  如何快速搭建二级域名独立网站?  寿县云建站:智能SEO优化与多行业模板快速上线指南  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  魔方云NAT建站如何实现端口转发?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  如何在Ubuntu系统下快速搭建WordPress个人网站?  长沙做网站要多少钱,长沙国安网络怎么样?  建站主机类型有哪些?如何正确选型  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  制作证书网站有哪些,全国城建培训中心证书查询官网?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  青岛网站建设如何选择本地服务器?  香港服务器WordPress建站指南:SEO优化与高效部署策略  C#如何序列化对象为XML XmlSerializer用法  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  微信小程序 五星评分(包括半颗星评分)实例代码  建站之星免费版是否永久可用?  如何在VPS电脑上快速搭建网站?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  h5网站制作工具有哪些,h5页面制作工具有哪些?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  如何通过WDCP绑定主域名及创建子域名站点?  大同网页,大同瑞慈医院官网?  如何通过老薛主机一键快速建站?  简单实现Android验证码  北京企业网站设计制作公司,北京铁路集团官方网站?  建站之星如何实现网站加密操作?  完全自定义免费建站平台:主题模板在线生成一站式服务  ppt制作免费网站有哪些,ppt模板免费下载网站?  如何将凡科建站内容保存为本地文件?  郑州企业网站制作公司,郑州招聘网站有哪些?  宝塔面板如何快速创建新站点?  建站org新手必看:2024最新搭建流程与模板选择技巧  ,sp开头的版面叫什么?  如何在阿里云部署织梦网站?  北京网站制作的公司有哪些,北京白云观官方网站?  建站主机核心功能解析:服务器选择与网站搭建流程指南  定制建站策划方案_专业建站与网站建设方案一站式指南  如何设计高效校园网站?  如何选择高性价比服务器搭建个人网站?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  定制建站价位费用解析与套餐推荐全攻略  开封网站制作公司,网络用语开封是什么意思?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。