正则 null_正则表达式exec、match、test的区别

一、定义的不同

RegExp.prototype.test()

RegExp.prototype.exec()

String.prototype.match()

从MDN的定义可以看出,test和exec是正则实例的API,match是String的,这一点决定了调用方式的不同。

二、应用场景的不同

如果只是想要判断正则表达式和字符串是否匹配,用test是最简单的。

const bool = /^hello/.test('helloworld') // true

如果你不只是想要知道是否匹配,还想知道匹配的结果,那么就可以用match。

const arr = 'helloworld'.match(/^hello/)
// ['hello', index:0, input: 'helloworld', group: undefined]

如果你不仅想知道匹配结果,还想遍历匹配结果,那就可以用exec。

const reg = /foo*/g;
const str = 'table football foosball';
let res;
while ((res = reg.exec(str)) !== null) {console.log('==========', res);
}

执行结果如下:

e22408451d703e14da21d595795e9539.png

这里需要注意的是,如果要遍历正则结果,正则表达式一定要加上全局标识g。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486159.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gartner发布2021年重要战略科技趋势!

来源:Gartner不久前,全球领先的信息技术研究和顾问公司Gartner发布企业机构在2021年需要深挖的重要战略科技趋势。分析师们在举行的Gartner IT Symposium/Xpo大会美洲站虚拟会议上展示了自己的发现。Gartner研究副总裁Brian Burke表示:“各企…

linux at24测试程序,linux 2.6下eeprom at24c08 i2c设备驱动(new style probe方式)

1 修改bsp_以便支持probe1.1 AT24C08地址的确定原理图上将A2、A1、A0都接地了,所以地址是0x50。注意到是7位(bit).1.2 修改bsp采用友善之臂的, 2.6.32.2内核[rootlocalhost mach-s3c2440]# vim/opt/FriendlyARM/mini2440/linux-2.6.32.2/arch/arm/mach-s3c2440/mach…

公众号 接收规则 消息_微信公众平台 发送模板消息(Java接口开发)

前言:最近一直再弄微信扫码推送图文消息和模板消息发送,感觉学习到了不少东西。今天先总结一下微信公众平台模板消息的发送。因为这个自己弄了很久,开始很多地方不明白,所以今天好好总结一下。微信公众平台技术文档:模…

Java中注释的使用

如何在Java中使用注释 在编写程序时,经常需要添加一些注释,用以描述某段代码的作用。 一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的 1/3 以上。因此,注释是程序源代码的重要组成部分,一定要…

关于动态规划,你想知道的都在这里了!

作者 | Your DevOps Guy翻译| 火火酱~,责编 | 晋兆雨出品 | AI科技大本营头图 | 付费下载于视觉中国什么是动态规划?它又有什么重要的呢?在本文中,我将介绍由Richard Bellman在20世纪50年代提出的动态规划(dynamic pro…

linux修改永久ip地址,centos设置IP地址,永久修改ipv4

# ifconfig #查看下本机的IP地址。eth0Link encap:Ethernet HWaddr 00:50:56:0A:0B:0Cinet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:172220…

详细介绍MySQL/MariaDB的锁

官方手册:https://dev.mysql.com/doc/refman/5.7/en/innodb-locking-transaction-model.html 1.事务提交的方式 在MariaDB/MySQL中有3种事务提交的方式。 1.显式开启和提交。 使用begin或者start transaction来显式开启一个事务,显式开启的事务必须使用c…

filter导致跨域失效_【SpringMVC】与权限拦截器冲突导致的Cors跨域设置失效问题...

问题描述前端域名FE.com向后端域名BE.com分别请求访问优惠券的列表和提交新增的优惠券,API设计所用的Method分别为Get和Post,结果为前一次访问成功而后一次访问失败。这两次请求都是跨域请求,其中请求1包含一个Get请求,请求2本应该…

美国专利商标局发布人工智能专利扩散分析报告

以下文章来源:中科院知识产权信息,2020-11-23报告显示,从2002到2018年,美国人工智能专利的年申请量增长超过100%,从每年3万件增加到6万多件,含人工智能的专利申请所占份额从9%上升到近16%。同时&#xff0c…

java 开发环境的搭建

这里主要说的是在windows 环境下怎么配置环境。 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可。。http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html点击下载好的exe文件安装即可。 2.接下来我们需要配置环…

linux内核等价多路径路由,Linux内核分析 - 网络[四]:路由表

路由表的创建inet_init() -> ip_init() -> ip_fib_init() -> fib_net_init() -> ip_fib_net_init()[net\ipv4\fib_frontend.c]首先为路由表分配空间,这里的每个表项hlist_head实际都会链接一个单独的路由表,FIB_TABLE_HASHSZ表示了分配多少个…

2017级面向对象程序设计 作业二

以下均以扫描方式为例,即电梯只会在最底层和最高层选择掉头,路途中遇到路径方向相同的乘客将他带上电梯。 文字描述面向过程实现的步骤: 一. 定义有关电梯的变量,如:1.电梯当前所在楼层.,2. 电梯内的人数&a…

server sql top速度变慢解决方案_SQL Server数据库查询速度慢的原因和解决方法

SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化。4、内存不足5、网络速度慢…

新型支架状电极允许人类思想操作计算机

Illustration: Synchron来源:IEEE电气电子工程师据悉,两名患有神经肌肉疾病的澳大利亚人在他们的大脑中植入了支架状的电极,使他们能够利用自己的思想操作电脑,从而恢复了一些个人独立性。据发明者介绍,这是这种被称为…

java中的foreach

foreach 并不是java中的关键字,是for语句的特殊简化版,在比那里数组,集合时,foreach更加简单快捷,从字面上的意思理解 foreach 也就是 “ for每一个 ”的意思,那么到底怎么使用 foreach语句呢? …

linux c 子线程sleep,linux c之sleep的多种实现

#include #include #include //使用select实现精确到1微秒(0.000001秒)的sleepvoid sleep_us(unsigned int nusecs){struct timevaltval;tval.tv_sec nusecs / 1000000;tval.tv_usec nusecs % 1000000;select(0, NULL, NULL, NULL, &tval);}int main(){printf("star…

ACM数论-素数

ACM数论——素数 素数定义: 质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。例 子:2、3、5、7、11、13、17、19。&am…

cors 前后端分离跨域问题_SpringBoot 实现前后端分离的跨域访问(CORS)

序言:跨域资源共享向来都是热门的需求,使用CORS可以帮助我们快速实现跨域访问,只需在服务端进行授权即可,无需在前端添加额外设置,比传统的JSONP跨域更安全和便捷。一、基本介绍简单来说,CORS是一种访问机制…

机器视觉中彩色成像必须考虑的十个问题

来源:Imagination Tech在为你的产品开发最适合的机器视觉系统时,需要考虑很多因素,以下列出开发过程中需要考虑的一些问题:颜色准确性/差异化首先要考虑的是应用程序所需的颜色精度和差异程度。在某些应用中,机器视觉相…

彩色的砖块

小易有一些彩色的砖块。每种颜色由一个大写字母表示。各个颜色砖块看起来都完全一样。现在有一个给定的字符串s,s中每个字符代表小易的某个砖块的颜色。小易想把他所有的砖块排成一行。如果最多存在一对不同颜色的相邻砖块,那么这行砖块就很漂亮的。请你帮助小易计算有多少种方…