簡體   English   中英

javascript正則表達式:僅用一些字母匹配所有單詞

[英]javascript regex: match all words with just some letters

所以我對正則表達式還很陌生。 任何幫助表示贊賞。

我有以下格式的字符串:

var str: ".item-61347 .item-79134 .item-79465 .item-96464"

我只需要一些輸入就能提取所有匹配的單詞。 例如:

input: 13 --> .item-61347 .item-79134
input: 79 --> .item-79134 .item-79465
input: 96464 --> .item-96464

輸入將是一個字符串變量,因此理想情況下,我希望能夠執行以下操作:

str.match(<regexp with string containing input>)

看起來根本不需要正則表達式:

var items = ".item-61347 .item-79134 .item-79465 .item-96464".split(" ");

var itemsThatMatch13 = items.filter( function(v) {
    return v.indexOf("13") > 0;
});

//[".item-61347", ".item-79134"]

這個怎么樣:

var testRegex, 
    testInputs = [13, 79, 96464];
var testStr   = '.item-61347 .item-79134 .item-79465 .item-96464';
for (var i = 0, l = testInputs.length; i < l; ++i) {
    testRegex = new RegExp('[.]item-(?=[0-9]*' + testInputs[i] + ')[0-9]+', 'ig');
    console.log(testStr.match(testRegex));
}

關鍵是在正則表達式中使用前瞻性來同時檢查digits子模式您在其中的輸入。

暫無
暫無

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

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