正则 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);
}
执行结果如下:
这里需要注意的是,如果要遍历正则结果,正则表达式一定要加上全局标识g。
正则 null_正则表达式exec、match、test的区别相关推荐
- python 正则表达式 re.sub_Python 正则表达式 re.match/re.search/re.sub的使用解析
From Python正则表达式 re.match(pattern, string, flags=0) 尝试从字符串起始位置匹配一个模式:如果不是起始位置匹配成功,则 re.match() 返回non ...
- linux下-exec和xargs的区别
原文地址:http://blog.csdn.net/arganzheng/article/details/6260720 -exec和xargs的区别 2010-11-27 星期六 晴朗 当你在命令行 ...
- SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 原文:SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 MSSQL为我们提供了两种动态执行SQL语 ...
- shell之xargs与-exec与管道的区别你造吗?
Table of Contents 1.xargs作用: 2.使用模式: 3.xargs常用选项 4.xargs与管道|的区别 5.xargs与-exec的区别 1.xargs作用: (1)将前一个命 ...
- 正则表达式——re.match方法
正则表达式-re.match方法 导入模块import re match()从左往右,从起始部分开始匹配 1.单字符匹配打印----match()方法,group()方法 text = 'python ...
- 正则表达式之——exec,match
刚开始接触正则,发现了一件有意思的事,我想要匹配正则,这下尴尬了- -,光知道正则表达式写法,并不知道正则如何才能获取匹配值. 慢慢摸索中... 找到答案!!! 正则匹配有两种方法: 一种是match ...
- 匹配正则_Day233:正则表达式匹配方法 match()
match()语法 match本身是JavaScript语言中字符串对象的一个方法,该方法的签名是 match([string] | [RegExp]) 它的参数既可以是一个字符串,也可以是一个正则表 ...
- js php 正则差别,正则表达式(括号)、[中括号]、{大括号}的区别小结,正则表达式小结...
正则表达式(括号).[中括号].{大括号}的区别小结,正则表达式小结 正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*) ...
- python compile正则_Python 正则表达式:compile,match
本文以匹配×××ID为例,介绍re模块的compile与match的用法 复杂匹配 = re.compile(正则表达式): 将正则表达式实例化 + re.match(要匹配的字符串): 从字符串开 ...
最新文章
- 【NCEPU】韩绘锦:扩散卷积神经网络
- c# 多线程排队队列实现的源码
- jq获取img高度(动态生成的image高度为0原因)
- 编写安全的代码(ACL使用方法)
- 如何高效安全的将资源同步到本地数据库
- 阻塞(Block)和非阻塞(Non-Block)
- httpstat:一个检查网站性能的 curl 统计分析工具
- 使用go的ssh包快速打造一个本地命令行ssh客户端
- C++的多态原理和实现
- webstorm如何自定义代码模板
- 发那科karel机器人环境配置_Fanuc-你没用到的Karel编译方式
- 客户细分常见的十大错误
- subsequence java_Java StringBuilder subSequence()方法与示例
- 【SecureCRT】SecureCRT设置上传下载目录
- Android Emulator has terminated
- Unity内置Shader解读1——Bumped Diffuse
- 计算机信息计量单位G的单位,计算机中的有些计量单位例如G、MB是表示什么意思?...
- 常用签名方式生成sign
- RINEX3 版本 Observation codes 介绍
- 天融信EDR 彻底卸载方法