Filezilla регулярное выражение для фильтрации всех subdir, кроме одного

988
Red

Я пытаюсь заставить filezilla отфильтровывать все подпапки определенной папки, кроме одной, но безуспешно. Мое дерево выглядит так:

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 

и я хочу, чтобы это стало:

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

Я обнаружил, что это регулярное выражение работает в теории: folder\/(?!sub1)[\/a-zA-Z]+но Filezilla поддерживает только расширенные регулярные выражения POSIX, и это не работает.

РЕДАКТИРОВАТЬ

В Filezilla для создания фильтра перейдите на

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

Ясно, если кто-то может получить результат без использования регулярных выражений, но с предопределенными условиями Filezilla, то же самое для меня

1
Я пытаюсь проверить это, но хотя я довольно хорошо знаком с регулярными выражениями, я не так хорошо разбираюсь с filezilla. Не могли бы вы объяснить, где именно вы используете это регулярное выражение, чтобы я мог поиграть с ним? terdon 9 лет назад 0
@terdon спасибо, я только что отредактировал свой ответ Red 9 лет назад 0

1 ответ на вопрос

0
terdon

Я не знаю, как работает Filezilla, но (?!sub1)конструкция имеет отрицательный внешний вид, что означает «соответствовать только в том случае, если предыдущее слово - нет sub1. ERE POSIX не поддерживают обходные пути, поэтому вам нужно использовать другой подход. Например, вы можете установить фильтр используя «Отфильтровать любые элементы, соответствующие любому из следующего» и использовать это регулярное выражение:

.*sub[2-9].* 

Это означает «соответствовать любому символу, затем subлюбое число от 2 до 9, затем любой символ снова. Это отфильтрует все нежелательные subпапки. Обратите внимание, что это регулярное выражение также исключит sub11, я не знаю, является ли это проблемой для вас» ,

Если ваши фактические имена каталогов отличаются, вам понадобится другой подход. В этом случае, пожалуйста, отредактируйте свой вопрос и включите реальные имена файлов и каталогов.

извините, я должен был написать, что имена файлов и папок были только примерами Red 9 лет назад 0
@ Красный да, я вроде бы так и думал. Суть в том, что ERE не обходят стороной. Это означает, что вам нужно что-то более конкретное для ваших данных. Вы также можете сделать что-то совершенно другое и просто установить удаление прав на чтение из каталогов, которые вам не нужны. terdon 9 лет назад 0

Похожие вопросы