js正则表达式截取字符串数组
varstr='ssssssw11112131sssssw22222asssssssssw33333sssssssss';varp=/w\d*/;vars="";s=st...
var str = 'ssssss w11112131 sssss w22222 asssssssss w33333 sssssssss';
var p = /w\d*/;
var s ="";
s = str.match(p);
alert(s+""+"==="+s[0]+"==="+s[1]+"==="+s[2]+"===");
输出结果 : w11112131===w11112131===undefined===undefined===
我想要的结果 : w11112131===w22222===w33333===
var p = /w\d*/g;
以解决 展开
var p = /w\d*/;
var s ="";
s = str.match(p);
alert(s+""+"==="+s[0]+"==="+s[1]+"==="+s[2]+"===");
输出结果 : w11112131===w11112131===undefined===undefined===
我想要的结果 : w11112131===w22222===w33333===
var p = /w\d*/g;
以解决 展开
2个回答
展开全部
错了好几个地方啊,第一:正则不是全局的,第二:返回的数组中,第一组(下标为 0 的)为整个正则匹配的结果,第三:js 的正则在匹配成功后就返回,后面的要再次调用!
var str = 'ssssss w11112131 sssss w22222 asssssssss w33333 sssssssss';
var p = /w\d*/g;
var s = [], m;
while(m = p.exec(str)){
s.push(m[0])
}
alert("===" + s[0] + "===" + s[1] + "===" + s[2] + "===");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询