博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js中test,exec和match方法
阅读量:6853 次
发布时间:2019-06-26

本文共 1128 字,大约阅读时间需要 3 分钟。

js中test,exec和match方法

标签: 

分类: 

test

test 返回 Boolean,查找对应的字符串中是否存在模式。

var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.test(str)); // true

exec

exec 查找并返回当前的匹配结果,并以数组的形式返回。

var str = "1a1b1c";
var reg = new RegExp("1.", "");
var arr = reg.exec(str);

如果不存在模式,则 arr 为 null,否则 arr 总是一个长度为 1 的数组,其值就是当前匹配项。arr 还有三个属性:index 当前匹配项的位置;lastIndex 当前匹配项结束的位置(index + 当前匹配项的长度);input 如上示例中 input 就是 str。

exec 方法受参数 g 的影响。若指定了 g,则下次调用 exec 时,会从上个匹配的 lastIndex 开始查找。

var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);

上述两个输出都是 1a。现在再看看指定参数 g:

var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);

上述第一个输出 1a,第二个输出 1b。

match

match 是 String 对象的一个方法。

var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(str.match(reg));

match 这个方法有点像 exec,但:exec 是 RegExp 对象的方法;math 是 String 对象的方法。二者还有一个不同点,就是对参数 g 的解释。

如果指定了参数 g,那么 match 一次返回所有的结果。

var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(str.match(reg));
//alert(str.match(reg)); // 此句同上句的结果是一样的

此结果为一个数组,有三个元素,分别是:1a、1b、1c。

转载于:https://www.cnblogs.com/mjdai/p/5483722.html

你可能感兴趣的文章
centos7 init
查看>>
php通过各种函数判断0和空
查看>>
基于easyui的文档管理系统springmvc+mybaits实现
查看>>
Chrome将证书透明度要求推迟至2018年
查看>>
jdbc的五大常见应用场景
查看>>
字符串
查看>>
剖析非同质化代币ERC721-全面解析ERC721标准
查看>>
Python八荣八耻
查看>>
华硕网络硬盘服务出问题!遭到中间人攻击
查看>>
java电子商务系统源码 Spring MVC+mybatis+spring cloud+spring boot+spring security
查看>>
Java 实现 给Excel模板赋值(直接打开表格赋值或者用自定义了名称的单元格(一块区域)赋值)...
查看>>
DataLakeAnalytics: 解析IP地址对应的国家城市地址的能力
查看>>
20181120上课截图
查看>>
FastReport教程:如何从命令行使用报表设计器和查看器
查看>>
sed命令详解及运用
查看>>
一篇文章让你全部看懂!内存-java模型-jvm结构
查看>>
[转] Valgrind使用
查看>>
0023-HOSTS配置问题导致集群异常故障分析
查看>>
《软件开发工具》要点
查看>>
iOS开发 图形变换-做一个正方体
查看>>