正则表达式过滤,具有多个条件

时间:2014-09-18 17:42:05

标签: javascript jquery regex

再次,我对reg非常不好,我想知道some1是否可以帮助我使用这个匹配的表达式,这个可能的情况:

case 1 =  |ABC:(n)    
case 2 =  ABC:(n)
case 3 =  ABC:(n)|     

其中(n)是整数。

所以如果我有一个看起来像这样的数组:

 ["ABC:2", "BVD:3", "BDS|ABC:3", "ABC:5|QWE:3"];
分裂后我的过滤器应该返回:

 [2, 3, 5]

这是一个jsfiddle

我将不胜感激,

先谢谢!

1 个答案:

答案 0 :(得分:1)

只需在现有代码中添加另一行,即按|分割每个部分,以便获得ABC:(n)个部分的数组:

var arr = oObj.split(",");
arr = $.map(arr, function(item) { return item.split("|"); });

// or, in native JS:
arr = Array.prototype.concat.apply([], arr.map(function(item) { return item.split("|"); }));

根本不需要正则表达式!