正则表达式排除文件模式

时间:2012-10-05 15:02:46

标签: ruby regex

我有以下正则表达式,我想忽略sass partials:

目前它看起来像这样:

  match /app\/stylesheets\/(?:.+\/)?[^_].+\.s[ca]ss/ do
    sass
  end

我要解析的示例文件路径是:

/app/stylesheets/nonpartial.scss
/app/stylesheets/folder/anothernonpartial.scss

我想忽略的部分例子是

/app/stylesheets/_partial.scss                   #this is ignored
/app/stylesheets/partials/_anotherpartial.scss   #this gets a match

正则表达式并没有被正则表达式所吸引,有人能建议更好的吗?

1 个答案:

答案 0 :(得分:1)

/app\/stylesheets(\/(\w+?))*\/(?!_)(\w+?)\.s[ca]ss/

此RegEx将匹配任意数量的子目录中的/ app / stylesheets中的文件,而文件名不能以下划线开头。

此RegEx使用Look-Arounds