Filezilla-Regex zum Herausfiltern aller Unterverzeichnisse bis auf eines

1086
Red

Ich versuche, dass filezilla alle Unterordner eines bestimmten Ordners herausfiltern kann, mit Ausnahme eines Ordners, der keinen Erfolg hat. Mein Baum sieht so aus:

css/ |--many files and dirs... js/ |--many files and dirs... script/ |--dist/ |--many files and dirs... |--less/ |---many files and dirs... |--fonts/ |---many files and dirs... |--Gruntfile.js |--something.json |--many other files... index.html 

und ich will es werden:

css/ |--many files and dirs... js/ |--many files and dirs... script/ |--dist/ |--many files and dirs... index.html 

Ich fand heraus, dass dieser Regex theoretisch funktioniert: folder\/(?!sub1)[\/a-zA-Z]+Filezilla unterstützt jedoch nur erweiterte reguläre POSIX-Ausdrücke, und dies funktioniert nicht.

BEARBEITEN

In Filezilla zum Erstellen eines Filters gehen Sie zu

View > Filename filters... > Edit filter rules... > New 

Klar, wenn jemand das Ergebnis ohne Regex erreichen kann, aber mit den vordefinierten Bedingungen von Filezilla ist das für mich dasselbe

1
Ich versuche das zu testen, aber während ich mit Regex sehr vertraut bin, bin ich mit Filezilla weniger vertraut. Könnten Sie erklären, wo genau Sie diese Regex verwenden, damit ich damit spielen kann? terdon vor 9 Jahren 0
@terdon danke, ich hatte gerade meine Antwort bearbeitet Red vor 9 Jahren 0

1 Antwort auf die Frage

0
terdon

Ich weiß nicht, wie Filezilla funktioniert, aber das (?!sub1)Konstrukt hat ein negatives Aussehen und bedeutet "nur wenn das vorherige Wort nicht sub1stimmt." POSIX-EREs unterstützen keine Lookarounds, daher müssen Sie einen anderen Ansatz verwenden. Beispielsweise könnten Sie einen Filter einrichten Verwenden Sie die Option "Alle Elemente herausfiltern, die einer der folgenden Bedingungen entsprechen" und verwenden Sie diese Regex:

.*sub[2-9].* 

Das bedeutet "Entsprechung zu einem beliebigen Zeichen, subgefolgt von einer beliebigen Zahl zwischen 2 und 9, dann wieder einem beliebigen Zeichen. Dadurch werden alle unerwünschten subOrdner herausgefiltert. Beachten Sie, dass der reguläre Ausdruck auch ausschließt sub11. Ich weiß nicht, ob dies ein Problem für Sie ist .

Wenn Ihre tatsächlichen Verzeichnisnamen unterschiedlich sind, benötigen Sie einen anderen Ansatz. Bearbeiten Sie in diesem Fall Ihre Frage und geben Sie die tatsächlichen Datei- und Verzeichnisnamen an.

Entschuldigung, ich hätte schreiben sollen, dass die Namen von Dateien und Ordnern nur Beispiele sind Red vor 9 Jahren 0
@Red ja, ich dachte irgendwie, dass sie waren. Der Hauptpunkt hier ist, dass ERE keine Lookarounds machen. Das bedeutet, dass Sie etwas spezifischeres für Ihre Daten benötigen. Sie können auch etwas völlig anderes tun und einfach Leseberechtigungen für die Verzeichnisse festlegen, die Sie nicht möchten. terdon vor 9 Jahren 0