Sublime on Save Build 排除模式

Sublime on Save Build exclude pattern

我安装了一个名为 "SublimeOnSaveBuild" 的 Sublime 插件,它在保存时编译我的 sass 文件。但现在我要处理的不仅仅是一个文件。

该插件提供了一个过滤功能,用于检查文件名是否与模式 \.(sass|less|scss)$ 匹配。 但是我需要一个模式来匹配任何 not 的文件,前面有一个下划线。 我试过 \(?!_).*.(sass|less|scss)$ 但这不起作用。 知道这个模式有什么问题吗?

结果应该是 file.sass 被编译但 _file.sass 没有被编译。

我认为这个模式应该有效:^(?<!_)[a-z-]*\.(sass|less|scss)$

这部分:(?<=_) 称为正向回顾断言。

你可以在这里做一些测试:https://regex101.com/r/gN8uX1/2

由于 streetturtle 的回答对我不起作用,我在 https://joshuawinn.com/ignore-sass-and-less-partials-starting-with-underscore-when-using-sublimeonsavebuild/ 上找到了另一个解决方案,即

(/|\\|^)(?!_)(\w+)\.(css|js|sass|less|scss)$