Ich habe versucht, einen Pfad zu validieren, und wenn der Pfad nicht mit der Regex übereinstimmt, dann habe ich eine Logik angewendet. Ich bekomme das erwartete Ergebnis in der folgenden:Verhalten bei der Regex-Validierung
path = 'banner/gwd_preview_/index.html'
/^__MACOSX/.match(path).nil? and /gwd_preview_/.match(path).nil?
# => false
Aber wenn ich die Regex Validierung in einer Variablen speichern:
is_valid_path = /^__MACOSX/.match(path).nil? and gwd_preview_/.match(path).nil?
# => false
und rufen Sie für das Ergebnis der is_valid_path
, ich true
:
is_valid_path # => true
Warum passiert das?
sollten Sie bei booleschen Ausdrücken bei '&&' und '||' bleiben. 'und' ist nicht dasselbe wie' && '. – user1902135