我有一堆像这样的文件
/foo/bar/specs/d.js
/foo/bar/spec/d.js
/foo/bar/specs/v.js
/foo/bar/specs/v.js
/node_modules/bar/specs/v.js
我需要一个将在node_modules
下排除所有内容的正则表达式这样的事情:
(?!node_modules)\/.*\/specs\/.*\.js
不幸的是它无法正常工作
感谢您的帮助。
答案 0 :(得分:4)
可能是这样的吗?
let arr = [
'/foo/bar/specs/d.js',
'/foo/bar/specs/d.js',
'/foo/bar/specs/v.js',
'/foo/bar/specs/v.js',
'/node_modules/bar/specs/v.js'
]
arr.forEach(s => console.log(/^\/(?!node_modules).*\/.*\/specs\/.*\.js/.test(s)))
答案 1 :(得分:0)
这是一个获取不在 .git 或 node_modules 文件夹中的 .ts 和 .js 文件的正则表达式:
^(?!.*\/(node_modules|\.git)\/).*(.ts|.js)$
说明:
^
(?!.*\/(node_modules|\.git)\/)
(.ts|.js)
$