JavaScript正则表达式/g和非/g的区别详解
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的区别详解相关推荐
- python正则表达式函数match()和search()的区别详解
match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找 ...
- python中search和match的区别_Python中正则表达式match()、search()函数及match()和search()的区别详解...
match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找 ...
- linux中cat、more、less命令区别详解
linux中cat.more.less命令区别详解 转自:https://blog.csdn.net/xyw_blog/article/details/16861681 众所周知linux中命令cat ...
- 【JavaScript 教程】ES6 中的 Promise对象 详解
[JavaScript 教程]ES6 中的 Promise对象 详解 1.Promise对象含义 promise是异步编程的一种解决方法. 所谓promise,简单说是一个容器,里面保存着某个未来才会 ...
- Java中print、printf、println的区别 详解
Java中print.printf.println的区别详解 printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和pr ...
- javascript中的Base64.UTF8编码与解码详解
javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...
- python for item in items,python 字典item与iteritems的区别详解
综述迭代器 对于原生支持随机访问的数据结构(如tuple.list),迭代器和经典for循环的索引访问相比并无优势,反而丢失了索引值(可以使用内建函数enumerate()找回这个索引值).但对于无法 ...
- HashTable和HashMap的区别详解
HashTable和HashMap的区别详解 一.HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同 ...
- python协程详解_对Python协程之异步同步的区别详解
一下代码通过协程.多线程.多进程的方式,运行代码展示异步与同步的区别. import gevent import threading import multiprocessing # 这里展示同步和异 ...
- axios请求接口http_使用axios请求接口,几种content-type的区别详解
axios的使用 安装(一般使用框架的话, 脚手架都集成了) $ npm install axios 请求示例 // POST axios.post('/user', { firstName: 'Fr ...
最新文章
- 获取应用程序文件夹路径的最佳方法
- 基于phantomJS实现web性能监控
- 数据结构与算法(C++)– 队列(Queue)
- kafka高可用集群原理
- dart系列之:dart语言中的函数
- 在java.library.path中找不到允许在生产环境中实现最佳性能的基于APR的Apache Tom.....
- elastic学习笔记
- 为什么大部分男生比女生高?原因让你意想不到
- 《狂人日记》金句摘抄(一)
- Python二级笔记(18,19合集知识点篇)
- 线上讲座——全国海关中心架构师王翔畅谈设计模式
- docker 常用命令 五 容器日志
- 计算机平面设计与工程论文,计算机平面设计毕业论文
- wifi智能门锁远程控制方案能实现哪些功能
- sql vb xml 换行_vb中换行代码 vb代码输出怎么换行
- 已解决:录屏软件录不了全屏的问题
- 必须了解的EXCEL常用函数都有哪些?【附动图详解】数据分析
- MySql -- 数据库备份工具xtrabackup
- android常见线程简要分析
- 免费学python的网课-像玩游戏一样学Python,和各种网课说再见