我正在尝试为一个简单的web开发项目设置一个保护文件。
我希望它检查当前目录中的HTML文件和./css/目录中的CSS文件。
我对正则表达式很陌生。我已经设法将当前目录中的HTML文件与这个regexpr^.+\.html$匹配。
我需要下降到目录树才能访问./css/anyfile.css文件。
我试过这个:^(.+\.html)|(css/.+\.css)$。我正在用ls | egrep 'regexpr'检查正则表达式,并在项目根目录下运行它。
结果我只得到.html文件。
它不起作用似乎很奇怪,因为here使用这个块:

guard 'livereload' do
  watch(%r{app/views/.+\.(erb|haml|slim)})
  watch(%r{app/helpers/.+\.rb})
  watch(%r{public/.+\.(css|js|html)})
  watch(%r{config/locales/.+\.yml})
  # Rails Assets Pipeline
  watch(%r{(app|vendor)(/assets/\w+/(.+\.(css|js|html))).*}) { |m| "/assets/#{m[3]}" }
end

它可以访问子目录,如apppublicconfig

最佳答案

您需要转义正斜杠,这样您的regexp就变成^(.+\.html)|(css\/.+\.css)$。您可以使用http://rubular.com检查RegExp是否是有效的Ruby RegExp。

10-05 21:04
查看更多