js正则表达式match全局匹配结果为什么不全? 15
varstr="12332aa438aaf";varregExp=/([0-9a-z]){2}/g;str.match(regExp);的结果是["12","33","2...
var str = "12332aa438aaf";
var regExp=/([0-9a-z]){2}/g;
str.match(regExp);的结果是["12", "33", "2a", "a4", "38", "aa"];
现在我的问题是,为什么23 , 32 , aa , 43 , 8a,这些数字都符合正则规则,
再返回的结果里却没有这些结果?
如何才能把符合这个正则规则的所有匹配项都显示出来呢? 展开
var regExp=/([0-9a-z]){2}/g;
str.match(regExp);的结果是["12", "33", "2a", "a4", "38", "aa"];
现在我的问题是,为什么23 , 32 , aa , 43 , 8a,这些数字都符合正则规则,
再返回的结果里却没有这些结果?
如何才能把符合这个正则规则的所有匹配项都显示出来呢? 展开
1个回答
展开全部
js 的String对象有一个match方法,可以传递一个正则表达式,范围所有匹配的值,比如:
var s = "abcabdabfacfabg";
var reg = /ab/g; //最后一个g表示要全局匹配
console.log(s.match(reg).toString());//结果ab,ab,ab,ab
var s = "abcabdabfacfabg";
var reg = /ab/g; //最后一个g表示要全局匹配
console.log(s.match(reg).toString());//结果ab,ab,ab,ab
追问
var str = "12332aa438aaf";
var regExp=/([0-9a-z]){2}/g;
str.match(regExp);的结果是["12", "33", "2a", "a4", "38", "aa"];
那我的问题里,23 , 32 , aa , 43 , 8a这些字符串也是符合正则表达式的,为什么
str.match(regExp)的结果数组里没有呢?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询