关于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 相关文章推荐
TopList标签和JavaScript结合两例
Aug 12 Javascript
Javascript开发之三数组对象实例介绍
Nov 12 Javascript
JS阻止用户多次提交示例代码
Mar 26 Javascript
JQuery显示隐藏DIV的方法及代码实例
Apr 16 Javascript
Javascript节点关系实例分析
May 15 Javascript
js window对象属性和方法相关资料整理
Nov 11 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
Mar 04 Javascript
原生js实现淘宝放大镜效果
Oct 28 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
Jan 08 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
May 09 Javascript
layui使用label标签的方法
Sep 14 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
Sep 11 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
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
php中fsockopen用法实例
2015/01/05 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
AngularJs分页插件使用详解
2018/06/30 Javascript
浅析vue-router原理
2018/10/19 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
python中的全局变量用法分析
2015/06/09 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
python 打印出所有的对象/模块的属性(实例代码)
2016/09/11 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
python中返回矩阵的行列方法
2018/04/04 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
基于python连接oracle导并出数据文件
2020/04/28 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
简历的个人自我评价范文
2014/01/03 职场文书
九年级体育教学反思
2014/01/23 职场文书
建筑工地标语
2014/06/18 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
四十年同学聚会致辞
2015/07/28 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS