Js正则表达式测试除了字符串

时间:2015-08-11 12:42:32

标签: javascript regex

我有这个清单:

tests.skills
tests.instructions
tests.something

我想测试给定的字符串是否包含最后两个中的任何一个而不是第一个,所以我尝试了这个:

 var str = 'tests.instructions';
 if( /tests\.[^skills].+/ig.test(str) ) {
      console.log(1);
  }

但它不起作用,我该如何测试呢?

2 个答案:

答案 0 :(得分:2)

/tests\.(?!skills).+/

设置否定[^x]将尝试匹配不是x的字符。 [^skills]实际上意味着匹配单个字符,该字符不是skills

相反,negative lookahead (?!sequence)将完成这项工作。

答案 1 :(得分:1)

您也可以尝试:

tests\.(?:instructions|something)

表示:搜索tests. instructions后面的something文字。

Regex live here.