原字符:(1)=(2)+(4)+(9)+(10)+(12)用正则表达式,获取放到数组里
数据:0   1
1   2
2   4
3   9
4   10
5   12
通过正则表达式,将原字符串中所有数值获取下来,然后进行处理。如何获取这些数值正则怎么写要用javascript用去 写
最好写详细,

解决方案 »

  1.   

    我暂时就想到这个   var p = /\((\d+?)\)=\((\d+?)\)\+\((\d+?)\)\+\((\d+?)\)\+\((\d+?)\)\+\((\d+?)\)/;
       var str = "(1)=(2)+(4)+(9)+(10)+(12)";
    var m = str.match(p);这样是
    0 (1)=(2)+(4)+(9)+(10)+(12)
    1 1
    2 2
    3 4
    ....
      

  2.   


       var str = "(1)=(2)+(4)+(9)+(10)+(12)";
    var arr = str.match(/\d+/g);
    alert(arr);
    注意正则表达式有全局匹配的模式
      

  3.   


       var str = "(1)=(2)+(4)+(9)+(10)+(12)";
    var arr = str.split(/\D/);
    alert(arr);
    刚测试了一下,这样也行
      

  4.   

    var a = [];
    "(1)=(2)+(4)+(9)+(10)+(12)".replace(/\((\d)\)/g, function(m, $1){
    a.push($1);
    });
    console.log(a); //-> ["1", "2", "4", "9"]
      

  5.   

            var str = '(1)=(2)+(4)+(9)+(10)+(12)';
    var arr = [];
    var reg = /(\d+)/g;
    while(reg.exec(str)) {
    arr.push(RegExp.$1);
    }
    for(var i in arr) {
    alert(i + "\t" + arr[i]);
    }