正则表达式多选项

时间:2013-01-11 15:49:37

标签: javascript regex

我需要编写一个正则表达式来与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

请帮忙吗?

3 个答案:

答案 0 :(得分:5)

因此,请在RegEx中使用OR |

myregex = /word1|word2|word3/;

答案 1 :(得分:1)

正则表达式是:/word1|word2|word3/

请注意,除了您的代码可行之外,您实际上并未使用所需的方法。

  • string.match(regex) - >返回一个匹配数组。当评估为布尔值时,它将在空时返回false(这就是它起作用的原因)。
  • regex.test(string) - >是你应该使用的。它会评估字符串是否与正则表达式匹配,并返回truefalse

答案 2 :(得分: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