我有一个成功的比赛:
/^\/?build\/(.+\.coffee|.+\.sass|.+\.erb)$/
现在我想在 /build/ 下找到与这些扩展中的任何一个都不匹配的所有文件。我想我可以用消极的前瞻性来做到这一点,但我似乎无法让它发挥作用。
有什么想法吗?
我有一个成功的比赛:
/^\/?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