我有这个清单:
tests.skills
tests.instructions
tests.something
我想测试给定的字符串是否包含最后两个中的任何一个而不是第一个,所以我尝试了这个:
var str = 'tests.instructions';
if( /tests\.[^skills].+/ig.test(str) ) {
console.log(1);
}
但它不起作用,我该如何测试呢?
答案 0 :(得分:2)
/tests\.(?!skills).+/
设置否定[^x]
将尝试匹配不是x
的字符。 [^skills]
实际上意味着匹配单个字符,该字符不是s
或k
或i
或l
或l
或s
相反,negative lookahead (?!sequence)
将完成这项工作。
答案 1 :(得分:1)
您也可以尝试:
tests\.(?:instructions|something)
表示:搜索tests.
或 instructions
后面的something
文字。