举个例子:
var str = "#123, #456, ##888";
如何把123, 456提取出来,888前面因为有两个相同的#,则忽略掉

解决方案 »

  1.   

    var str = "#123, #456, ##888";
    var arr = [];
    str.replace(/##\d+/g,"").replace(/#(\d+)/g,function(a,b){arr.push(b)});
    alert(arr);
      

  2.   

    var str = "#123, #456, ##888";
    var reg=/(^| )#\d+/g;
    var arr=str.match(reg);
    alert(arr.join(',').replace(/#/g,''));
      

  3.   

    '"#123, #456, ##888";'.replace(/[^#]#(\d+)/g,function(_,v){ alert(v) })
      

  4.   

    如果是"#123, #456, ##888".replace(/[^#]#(\d+)/g,function(_,v){ alert(v) }),则无效,因为有#在第一个字符的情况存在感谢xuzuning,这个正则可用