나는 성공적인 일치를 가지고있다 :이 정규식을 어떻게 반전시킬 수 있습니까?
/^\/?build\/(.+\.coffee|.+\.sass|.+\.erb)$/
이제/build/아래에있는 모든 파일들이 그 확장자 중 하나와 일치하지 않는다. 나는 부정적인 look-ahead로 이것을 할 수 있다고 생각하지만, 제대로 작동하지 않는 것 같습니다.
어떤 생각?
나는 성공적인 일치를 가지고있다 :이 정규식을 어떻게 반전시킬 수 있습니까?
/^\/?build\/(.+\.coffee|.+\.sass|.+\.erb)$/
이제/build/아래에있는 모든 파일들이 그 확장자 중 하나와 일치하지 않는다. 나는 부정적인 look-ahead로 이것을 할 수 있다고 생각하지만, 제대로 작동하지 않는 것 같습니다.
어떤 생각?
/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
올바른 제어 구조를 사용하지 않는 이유는 'if'대신 'unless'입니까? – Howard
동의하지만, "Guard"를 사용하고있는 보석은 그 일치에 대한 정규식을 기대합니다. 나는 모든 파일에 일치시킬 수있는 그들을 버리고, 그 .. 못생긴 ..하지만. – Samuel