在一串字符串中寻找想要的内容,可以用match或exec方法获取。match或exec匹配出来的数据格式都是数组。
在非全局检索下,match和exec得到的结果是一样的,只匹配到第一个符合的字符串并填充进数组里返回
var str = 'ja3848sah93589k0483fd';
//在非全局检索下,match和exec得到的结果是一样的
var reg = /[a-z]/;
var arr1 = str.match(reg);
var arr2 = reg.exec(str);
console.log(arr1)
console.log(arr1 instanceof Array)
console.log(arr2)
console.log(arr2 instanceof Array)
得到结果如下:
在全局搜索下匹配 ,得到的结果是不一样的,match会全局搜索,把字符串中所有符合的结果填充进数组返回,而exec只返回第一个符合的结果添进数组返回。如下:
var str = 'ja3848sah93589k0483fd';
//在全局检索下,match和exec返回的结果不同
var reg = /[a-z]/g;
var arr1 = str.match(reg);
var arr2 = reg.exec(str);
console.log(arr1)
console.log(arr1 instanceof Array)
console.log(arr2)
console.log(arr2 instanceof Array)