regex,用于排除一个特定单词的特定文件扩展名的文件



我想排除节点或javascript中路径中任何位置都有capsize的文件路径,但我无法获得正确的语法。

const re = /.*((?!capsize).*).css.ts/;
console.log(re.test('src/packages/graph.css.ts')) // should be true
console.log(re.test('packages/vanilla-extract/capsize.css.ts')) // should be false

首先需要指定要匹配整个字符串,即添加开始和结束标记。(否则它将跳过.*,因为没有匹配任何符号,从regex的角度来看这是可以的(

第二,你需要把not follow by放在任何符号后面(也就是说,可能有0到无穷多个符号后面没有倾覆(。

const re = /^(.(?!capsize))*.css.ts$/;
console.log(re.test('src/packages/graph.css.ts')) // should be true
console.log(re.test('packages/vanilla-extract/capsize.css.ts')) // should be false

一种可能的方法:

const re = /^(?!.*?capsize).*.css.ts$/;
console.log(re.test('src/packages/graph.css.ts')) // should be true
console.log(re.test('packages/vanilla-extract/capsize.css.ts'))

最新更新