我已经成功匹配到:
/^/?build/(.+.coffee|.+.sass|.+.erb)$/
现在我想找到/build/下所有不匹配这些扩展名的文件。我想我可以用消极向前看来做这件事,但我似乎不能让它工作。
任何想法吗?
如果你发现/build/下的所有文件都不匹配这些扩展名,你最好使用"?!"来排除字符串,例如:
^/?build/(?:(?!.coffee|.sass|.erb).)*$
extensions = [".coffee",".sass",".erb"]
Find.find(build_folder) do |file|
next unless extensions.include?(File.extname(file))
end
还有,你知道这个吗?
if some_string =~ /some_regex/
# matched regex
end
if some_string !~ /some_regex/
# didn't match regex
end