猿问

js正则表达式match全局匹配结果为什么不全?

var str = "12332aa438aaf";
var regExp=/([0-9a-z]){2}/g;
str.match(regExp);的结果是["12", "33", "2a", "a4", "38", "aa"];
现在我的问题是,为什么23 , 32 , aa , 43 , 8a,这些数字都符合正则规则,
再返回的结果里却没有这些结果?
如何才能把符合这个正则规则的所有匹配项都显示出来呢?

慕盖茨4494581
浏览 1771回答 1
1回答

慕婉清6462132

js 的String对象有一个match方法,可以传递一个正则表达式,范围所有匹配的值,比如:var s = "abcabdabfacfabg";var reg = /ab/g; //最后一个g表示要全局匹配console.log(s.match(reg).toString());//结果ab,ab,ab,ab
随时随地看视频慕课网APP
我要回答