2017-03-03 10 views
0

正規表現とjavascriptで、キーワード "a" "b"と "c"だけで線(1)と(3)が必要です。2つ以上のキーワードを正規表現で検索

テキストである:

+ B + C(1)

テスト+ A +試験(2)

C + B +(3)

試験+ b + test(4)

"(?=。* a)。* b"が見つかりました。しかし、例のように2つ以上のキーワードを使ってどうすればいいですか?

+0

どのようにするvar A =のstring.Split 'について( "+");'次にアクセス '[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それを言及していただきありがとうございます。 –