关于JS中match() 和 exec() 返回值和属性的测试


Posted in Javascript onMarch 21, 2016

语法:

exec() :
RegExpObject.exec(string) 
match() :
stringObject.match(string)
stringObject.match(regexp)

知识点:

exec() 是RegExp对象的方法,而 match() 是String对象的方法。
都会返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回null。
返回的数组虽然是Array 的实例,但包含两个额外的属性:index 和 input。其中,index 表示匹配项在字符串中的位置,而 input 表示应用正则表达式的字符串。
在数组中,第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串(如果模式中没有捕获组,则该数组只包含一项)。

测试:

对 match() 的测试代码:

var text = "mom and dad and baby";
var pattern = /(mom and )?(dad and )?baby/;
var matches = text.match(pattern);//pattern.exec(text);
console.log(matches.index);
console.log(matches.input);
console.log(matches[0]);
console.log(matches[1]);
console.log(matches[2]);

对 match() 的测试结果截图:

关于JS中match() 和 exec() 返回值和属性的测试

对 exec() 的测试代码:

var text = "mom and dad and baby";
var pattern = /(mom and )?(dad and )?baby/;
var matches = pattern.exec(text);//text.match(pattern);
console.log(matches.index);
console.log(matches.input);
console.log(matches[0]);
console.log(matches[1]);
console.log(matches[2]);

对 exec() 的测试结果截图:

关于JS中match() 和 exec() 返回值和属性的测试

String 对象方法

方法 描述
exec 检索字符串中指定的值。返回找到的值,并确定其位置
test 检索字符串中指定的值。返回 true 或 false。

String 对象方法

方法 描述
match() 找到一个或多个正则表达式的匹配。
replace() 替换与正则表达式匹配的子串。
search() 检索与正则表达式相匹配的值。

关于JS中match() 和 exec() 返回值和属性的测试就给大家介绍到这里,希望对大家有所帮助!

Javascript 相关文章推荐
基于javascript代码实现通过点击图片显示原图片
Nov 29 Javascript
适用于javascript开发者的Processing.js入门教程
Feb 24 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
Jun 03 Javascript
JavaScript中数组的22种方法必学(推荐)
Jul 20 Javascript
canvas 实现中国象棋
Feb 17 Javascript
JavaScript中数组Array.sort()排序方法详解
Mar 01 Javascript
微信小程序 商城开发(ecshop )简单实例
Apr 07 Javascript
angularjs实现猜数字大小功能
May 20 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
Aug 25 Javascript
Node.js assert断言原理与用法分析
Jan 04 Javascript
使用typescript改造koa开发框架的实现
Feb 04 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
Jul 22 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
Mar 21 #Javascript
快速掌握Node.js事件驱动模型
Mar 21 #Javascript
快速掌握Node.js模块封装及使用
Mar 21 #Javascript
JS DOM实现鼠标滑动图片效果
Sep 17 #Javascript
实践中学习AngularJS表单
Mar 21 #Javascript
javascript单页面手势滑屏切换原理详解
Mar 21 #Javascript
javascript实现dom元素可拖动
Mar 21 #Javascript
You might like
php 获取一个月第一天与最后一天的代码
2010/05/16 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
关于Laravel Route重定向的一个注意点
2017/01/16 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
js一组验证函数
2008/12/20 Javascript
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
jQuery实现仿Google首页拖动效果的方法
2015/05/04 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
Node.js连接postgreSQL并进行数据操作
2016/12/18 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
vue Render中slots的使用的实例代码
2017/07/19 Javascript
Node做中转服务器转发接口
2017/10/18 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
Python pass详细介绍及实例代码
2016/11/24 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
基于python select.select模块通信的实例讲解
2017/09/21 Python
python机器学习之KNN分类算法
2018/08/29 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
奶茶店创业计划书
2014/08/14 职场文书
爱晚亭导游词
2015/02/09 职场文书
小班上学期个人总结
2015/02/12 职场文书
安全生产培训心得体会
2016/01/18 职场文书
Python序列化与反序列化相关知识总结
2021/06/08 Python
mysql分表之后如何平滑上线详解
2021/11/01 MySQL