我正在尝试为一个简单的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
它可以访问子目录,如
app
、public
和config
。 最佳答案
您需要转义正斜杠,这样您的regexp就变成^(.+\.html)|(css\/.+\.css)$
。您可以使用http://rubular.com检查RegExp是否是有效的Ruby RegExp。