我的比赛成功了:
/^\/?build\/(.+\.coffee|.+\.sass|.+\.erb)$/
现在我想找到/ build /下与这些扩展名不匹配的所有文件。我认为我可以用负面预测做到这一点,但我似乎无法让它发挥作用。
有什么想法吗?
答案 0 :(得分:2)
如果你发现/ build /下的所有文件都与这些扩展名不匹配,你最好使用“?!”除了字符串,例如:
^\/?build\/(?:(?!\.coffee|\.sass|\.erb).)*$
答案 1 :(得分:1)
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