g是JavaScript正则表达式修饰符,在菜鸟教程中的解释为:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

下面开始试验:

var str = "up up";var patt1 = /up/;document.write(str.match(patt1));

输出结果为:up

结尾加上g 代码如下:

var str = "up up";var patt1 = /up/g;document.write(str.match(patt1));

输出结果为:up,up

以上结果和教程中的解释完全相符。

下面开始深度实验

查找文本中两个相同的相邻单词的匹配项,代码如下:

var str = "Is the cost of of gosoline going up up";var patt1 = /\b([a-z]+) \1\b/g;document.write(str.match(patt1));

输出结果为:of of,up up

其中\1必须与小括号配合使用。

正则表达式中的小括号"()"。是代表分组的意思。 如果再其后面出现\1则是代表与第一个小括号中要匹配的内容相同。

去掉g后实验,代码如下 :

var str = "Is the cost of of gosoline going up up";var patt1 = /\b([a-z]+) \1\b/;document.write(str.match(patt1));

输出结果为:of of,of

结论:g的作用是执行全局匹配,但是会取消掉子表达式的获取(小括号“([a-z]+)” 的表达式为子表达式)。

JavaScript正则表达式/g和非/g的区别详解相关推荐

  1. python正则表达式函数match()和search()的区别详解

    match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找 ...

  2. python中search和match的区别_Python中正则表达式match()、search()函数及match()和search()的区别详解...

    match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找 ...

  3. linux中cat、more、less命令区别详解

    linux中cat.more.less命令区别详解 转自:https://blog.csdn.net/xyw_blog/article/details/16861681 众所周知linux中命令cat ...

  4. 【JavaScript 教程】ES6 中的 Promise对象 详解

    [JavaScript 教程]ES6 中的 Promise对象 详解 1.Promise对象含义 promise是异步编程的一种解决方法. 所谓promise,简单说是一个容器,里面保存着某个未来才会 ...

  5. Java中print、printf、println的区别 详解

    Java中print.printf.println的区别详解 printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和pr ...

  6. javascript中的Base64.UTF8编码与解码详解

    javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...

  7. python for item in items,python 字典item与iteritems的区别详解

    综述迭代器 对于原生支持随机访问的数据结构(如tuple.list),迭代器和经典for循环的索引访问相比并无优势,反而丢失了索引值(可以使用内建函数enumerate()找回这个索引值).但对于无法 ...

  8. HashTable和HashMap的区别详解

    HashTable和HashMap的区别详解 一.HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同 ...

  9. python协程详解_对Python协程之异步同步的区别详解

    一下代码通过协程.多线程.多进程的方式,运行代码展示异步与同步的区别. import gevent import threading import multiprocessing # 这里展示同步和异 ...

  10. axios请求接口http_使用axios请求接口,几种content-type的区别详解

    axios的使用 安装(一般使用框架的话, 脚手架都集成了) $ npm install axios 请求示例 // POST axios.post('/user', { firstName: 'Fr ...

最新文章

  1. 获取应用程序文件夹路径的最佳方法
  2. 基于phantomJS实现web性能监控
  3. 数据结构与算法(C++)– 队列(Queue)
  4. kafka高可用集群原理
  5. dart系列之:dart语言中的函数
  6. 在java.library.path中找不到允许在生产环境中实现最佳性能的基于APR的Apache Tom.....
  7. elastic学习笔记
  8. 为什么大部分男生比女生高?原因让你意想不到
  9. 《狂人日记》金句摘抄(一)
  10. Python二级笔记(18,19合集知识点篇)
  11. 线上讲座——全国海关中心架构师王翔畅谈设计模式
  12. docker 常用命令 五 容器日志
  13. 计算机平面设计与工程论文,计算机平面设计毕业论文
  14. wifi智能门锁远程控制方案能实现哪些功能
  15. sql vb xml 换行_vb中换行代码 vb代码输出怎么换行
  16. 已解决:录屏软件录不了全屏的问题
  17. 必须了解的EXCEL常用函数都有哪些?【附动图详解】数据分析
  18. MySql -- 数据库备份工具xtrabackup
  19. android常见线程简要分析
  20. 免费学python的网课-像玩游戏一样学Python,和各种网课说再见

热门文章

  1. PTA习题集-团体程序设计天梯赛L1-003
  2. 2022年T电梯修理考试题库及模拟考试
  3. vs code 使用eslint prettier插件格式化eslint
  4. 通联数据回测平台的测试
  5. 数控机床应用了计算机的,数控机床应用复习2
  6. 项目import其他class类失败,解决办法:清楚缓存
  7. 【编程基础】堆空间与栈空间
  8. 怎么虚拟出一台128核的服务器,64核128线程处理器横空出世 正面刚因特尔48核服务器CPU...
  9. 开源的多标签SSH终端工具
  10. 高项之十大管理及其过程记忆技巧