5

JS .match() 関数で使用する正規表現を記述する必要があります。目的は、複数の選択肢を持つ文字列をチェックすることです。たとえば、mystr に word1 または word2 または word3 が含まれている場合、以下のコードで true を返したい

mystr1 = "this_is_my_test string_containing_word2_where_i_will_perform_search";
mystr2 = "this_is_my_test string_where_i_will_perform_search";
myregex = xxxxxx; // I want help regarding this line so that 
if(mystr1.match(myregex)) return true; //should return true
if(mystr2.match(myregex)) return true; //should NOT return true

何か助けてください。

4

3 に答える 3

11

したがって、正規表現で OR を使用|します。

myregex = /word1|word2|word3/;
于 2013-01-11T15:52:47.740 に答える
1

正規表現は次のとおりです。/word1|word2|word3/

コードが機能するだけでなく、実際には必要なメソッドを使用していないことに注意してください。

  • string.match(regex)-> 一致の配列を返します。ブール値として評価されるとfalse、空のときに返されます (これが機能する理由です)。
  • regex.test(string)-> を使用する必要があります。文字列が正規表現に一致するかどうかを評価し、trueまたはを返しfalseます。
于 2013-01-11T15:56:23.807 に答える
0

マッチを使用していない場合は、test()メソッドを使用してiフラグも含める傾向があるかもしれません。

if( /word1|word2|word3/i.test( mystr1 ) ) return true; //should return true
if( /word1|word2|word3/i.test( mystr2 ) ) return true; //should NOT return true
于 2013-01-11T15:56:55.173 に答える