我需要编写一个正则表达式来与JS .match()函数一起使用。目标是检查具有多个备选方案的字符串。例如,如果mystr包含word1或word2或word3
,我想在下面的代码中返回truemystr1 = "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
请帮忙吗?
答案 0 :(得分:5)
因此,请在RegEx中使用OR |
:
myregex = /word1|word2|word3/;
答案 1 :(得分:1)
正则表达式是:/word1|word2|word3/
请注意,除了您的代码可行之外,您实际上并未使用所需的方法。
string.match(regex)
- >返回一个匹配数组。当评估为布尔值时,它将在空时返回false
(这就是它起作用的原因)。regex.test(string)
- >是你应该使用的。它会评估字符串是否与正则表达式匹配,并返回true
或false
。答案 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