141

単語全体で正規表現を照合したい。

次の例では、sorに一致させようとしていますが、 、、、およびseasonに一致するものがあります。 seaon

[s|season]

単語全体に一致する正規表現を作成するにはどうすればよいですか?

4

4 に答える 4

5

js で例をテストします。最も簡単な解決策 - / / の中に必要な単語を追加するだけです:

var reg = /cat/;
reg.test('some cat here');//1 test
true // result
reg.test('acatb');//2 test
true // result

この特定の単語が必要な場合は、他の記号文字の内側ではなく、境界を付けてください。bマーカーを使用します。

var reg = /\bcat\b/
reg.test('acatb');//1 test 
false // result
reg.test('have cat here');//2 test
true // result

また、js には exec() メソッドがあり、オブジェクト結果を返します。fg が単語の場所/インデックスに関する情報を取得するのに役立ちます。

var matchResult = /\bcat\b/.exec("good cat good");
console.log(matchResult.index); // 5

文字列/文/テキストで一致したすべての単語を取得する必要がある場合は、g 修飾子 (グローバル マッチ) を使用できます。

"cat good cat good cat".match(/\bcat\b/g).length
// 3 

最後の 1 つ - 特定の 1 つの単語は必要ありませんが、そのうちのいくつかは必要です。| を使用します。サイン、それは選択/またはを意味します。

"bad dog bad".match(/\bcat|dog\b/g).length
// 1
于 2016-11-12T13:33:26.540 に答える