关于JS中match() 和 exec() 返回值和属性的测试
作者:bea
语法: exec() :RegExpObject.exec(string) match() :stringObject.match(string)stringObject.match(regexp) 知识点: exec() 是RegExp对象的方法,而 match() 是String对象的方法。 都会返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回null。 返回的数组虽然是Array 的实例,但包含两个额外的属性:index 和 input。其中,ind
语法:
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() 的测试结果截图:
对 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() 的测试结果截图:
String 对象方法
方法 | 描述 |
exec | 检索字符串中指定的值。返回找到的值,并确定其位置 |
test | 检索字符串中指定的值。返回 true 或 false。 |
String 对象方法
方法 | 描述 |
match() | 找到一个或多个正则表达式的匹配。 |
replace() | 替换与正则表达式匹配的子串。 |
search() | 检索与正则表达式相匹配的值。 |
关于JS中match() 和 exec() 返回值和属性的测试就给大家介绍到这里,希望对大家有所帮助!
猜你喜欢
您可能感兴趣的文章:
- 基于javascript制作经典传统的拼图游戏
- javascript函数命名的三种方式及区别介绍
- javascript仿京东导航左侧分类导航下拉菜单效果
- JS中多种方式创建对象详解
- 基于jquery实现无限级树形菜单
- javascript的几种继承方法介绍
- 基于javascript实现文字无缝滚动效果
- ajax在兼容模式下失效的快速解决方法
- jquery仿QQ登录账号选择下拉框效果
- 详述JavaScript实现继承的几种方式(推荐)
- jQuery toggle 代替方法
- 一款简单的jQuery图片标注效果附源码下载
- 酷炫jQuery全屏3D焦点图动画效果
- 浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
- 使用struts2+Ajax+jquery验证用户名是否已被注册
- 使用getBoundingClientRect方法实现简洁的sticky组件的方法
- Node.js文件操作方法汇总
- 浅谈Sticky组件的改进实现
- 使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法