簡體   English   中英

Javascript正則表達式匹配逗號分隔列表中的元素

[英]Javascript regular expression to match an element in comma separated list

我有一個數組

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應該返回“值1”和“值2”,但不能返回“值3”。

顯然,我無法檢查每個ID是否包含帶有字符串比較的fitlerID,因為它還應該返回“值3”。 “ 1233”包含“ 123”。

一種方法是拆分每個ID字符串並刪除分號,然后與每個位進行比較。

但是,我想知道是否有更簡單的方法來檢查正則表達式?

即什么正則表達式將返回id為空或以分號分隔的列表中的值之一的數組元素?

您可以對一個空字符串使用邊界標記\\b和一個OR( | ):

/\b123\b|^$/

這意味着123僅在整個單詞(即用[A-Za-z0-9_]以外的字符包圍)時才匹配,並且^$將捕獲一個空字符串。 有關\\b標記的更多信息,請參見此處

這是正則表達式演示和帶有示例函數的小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM