2017-03-03 136 views
0

我只需要行(1)和(3)通過正則表達式和javascript通過關鍵字「a」「b」和「c」。超過2個關鍵字用正則表達式搜索

文本是:

A + B + C(1)

測試+ A +試驗(2)

C + B + A(3)

測試+ b + test(4)

我發現「(?=。* a)。* b」。但是如何處理像這個例子那樣的兩個以上的關鍵字呢?

+0

怎麼樣'VAR一個= string.split( 「+」);'然後訪問'A [0]'和[2] – Rajesh

回答

1

您可以使用積極向前斷言如下面的正則表達式匹配所需的文本:

/^(?=.*a)(?=.*b)(?=.*c)/ 

更多先行回顧後細節可以在這裏找到:Regex lookahead, lookbehind and atomic groups

JavaScript演示

var a = "a+b+c"; 
 
var b = "test+a+test"; 
 
var c = "c+b+a"; 
 
var d = "test+b+test"; 
 

 
var pattern = /^(?=.*a)(?=.*b)(?=.*c)/; 
 

 
console.log(a + " ----- " + pattern.test(a)); 
 
console.log(b + " ----- " + pattern.test(b)); 
 
console.log(c + " ----- " + pattern.test(c)); 
 
console.log(d + " ----- " + pattern.test(d));

+0

我想你已經添加不正確撥弄鏈接。此外它更好地使用堆棧片段,因爲它使你獨立回答。 – Rajesh

+0

@Rajesh哎呀感謝提到。 –