jsmatch⽅法
1、⽤法
match()⽅法可以字符串中检索指定的值,或者是匹配⼀个或多个正则表达式
2、返回值
该⽅法类似于indexOf()/lastIndexOf(),区别就是返回值不⼀样
indexOf()/lastIndexOf() 返回检索字符所在的位置
match()⽅法是返回⼀个存放匹配结果的数组,这个数组的内容依赖于正则regexp中是否具有全局标识g
index与match举例讲解
如果reg具有全局标识g的话,就会全局检索,到所有匹配的字符串,如果没有到匹配的⽂本就返回null,否则就会返回⼀个存放匹配结果的数组,该数组存放所有的匹配结果的数组
如果reg没有全局标识的话,只能执⾏⼀次检索匹配,如果没有到匹配的⽂本就返回null,否则就会返回⼀个存放匹配结果的数组,该数组的第0个元素存放的是匹配⽂本,其他的元素是与正则表达式匹配到的⽂本。返回匹配结果的数组中还含有两个对象属性,分别是index属性和input属性;index属性是匹配结果的开始字符在字符串中的位置,input属性是对subobj的引⽤
代码如下:
var str="1 push 2 pop 3 pop 4 push";
let reg1 = /\d+/g; // 带有全局标识g
let reg2 = /\d+/;  // 未带全局标识的
// 检索⼀个正则表达式的匹配
console.log(str.match(reg1)); // ['1','2','3','4']
console.log(str.match(reg2)); // ['1', index:0, input:'1 push 2 pop 3 pop 4 push']
// 检索⼀个字符串
console.log(str.match('push')); // ['push', index:2, input:'1 push 2 pop 3 pop 4 push' ]
console.log(str.match('shift')); // null
3、语法
subobj.match(searchValue) / subobj.match(regexp)