如何使用正则表达式删除带有数字和特殊字符的字符串

时间:2014-01-17 09:19:27

标签: javascript regex

使用正则表达式删除带有数字和特殊字符的字符串。这是我的代码

  var string = "[Account0].&[1]+[Account1].&[2]+[Account2].&[3]+[Account3].&[4]";
    var numbers = string.match(/(\d+)/gi);
    alert(numbers.join(','));

此处输出为:0,1,1,2,2,3,3,4

但我想要以下输出1,2,3,4

任何人都可以帮助我。

谢谢,

3 个答案:

答案 0 :(得分:2)

看看你想要的是[\ d +],使用这样的exec,

var myRe = /\[(\d+)\]/gi;

var myArray, numbers = [];

while ((myArray = myRe.exec(string)) !== null) {
    numbers.push(myArray[1]);
}

http://jsfiddle.net/xE265/

答案 1 :(得分:1)

你可以这样做:

string = "[Account0].&[1]+[Account1].&[2]+[Account2].&[3]+[Account3].&[4]";
repl = string.replace(/.*?\[(\d+)\][^\[]*/g, function($0, $1) { return $1 });
//=> "1234"

答案 2 :(得分:0)

我想在这种情况下最简单的解决方案是:

\[(\d+)\]

简单地说你只想要用括号括起来的数字。

此致