1

Я пытаюсь заставить 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 ответ1

0

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

.*sub[2-9].*

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .