Javascript正则表达式匹配逗号分隔列表中的元素

时间:2015-12-01 19:15:03

标签: javascript regex

我有一个数组

var myArray = [  
   {  
      "field1":"Value 1",
      "IDs":""
   },
   {  
      "field1":"Value 2",
      "IDs":"123"
   },
   {  
      "field1":"Value 3",
      "IDs":"1233; 222"
   }
];

用于过滤记录的变量

var filterID = 123;

在数组中,ID可以为空或具有单个值或由分号分隔的多个值。结果应始终返回所有空白ID以及所有匹配的ID。所以: filterID = 123应该返回'Value 1'和'Value 2'而不是'Value 3'。

显然我无法检查每个ID是否包含带字符串比较的fitlerID,因为它还应该返回'Value 3'。 '1233'包含'123'。

一种方法是拆分每个ID字符串并删除分号并与每个位进行比较。

但是,我想知道是否有更简单的方法来检查使用正则表达式?

即正则表达式将返回数组的元素,其中id为空白或者123是分号分隔列表中的值之一?

1 个答案:

答案 0 :(得分:2)

您可以对空字符串使用边界标记class FILE { public: // Would like to alias boost::filesystem::rename as rename here }; 和OR(\b):

|

这意味着/\b123\b|^$/ 只有在它是整个单词时才会匹配(即由123以外的字符包围),[A-Za-z0-9_]将捕获空字符串。 More info on the \b marker here

这里有demo of the regexfiddle,带有示例功能。