Имам папка в моя сървър, която съдържа няколко изображения, оразмерени от WordPress. Искам да кача само изображения, които не са преоразмерени. Ето пример:
Имена на файлове:
2CVictoria_and_Albert_Museum_London-708x400.jpg
2CVictoria_and_Albert_Museum_London-336x190.jpg
2CVictoria_and_Albert_Museum_London.jpg
Искам само файлове, които завършват с .jpg без -708x400 и 336x190
2CVictoria_and_Albert_Museum_London.jpg
Как да създадете филтър във Filezilla, който ще игнорира всички изображения, които са преоразмерени и показват само оригиналното изображение? Моля, ако можете да поставите всички правила за филтриране.
Отговори:
2 за отговор № 1Въз основа на вашите критерии, това трябва да работи.
^[[:alnum:]_]+.jpg$
и след исканото редактиране:
^[[:alnum:]_-]+[^-0-9x]+.jpg
и след втората заявка за редактиране:
^[[:alnum:]_-]+[^x]{5}.jpg
Не разполагам с инсталиран Filezilla в момента, но Filezilla използва регулярни изрази на POSIX.
Изразът използва клас знаци [[:alnum:]_]
с квантор, позволяващ да съвпада с произволен брой букви, цифри и долни черти. След това съвпадат период, jpg и край на низа, така че всяка суфикс, използваща тире, ще се провали.
Във втория израз преди .jpg
, гарантираме, че съответства на произволен брой знаци, които не са тирета, цифри или xs.
В третия израз, [^x]{5}
е малко хакване: гарантира, че няма "x" символ в последните пет знака, като по този начин изключва файловете, завършващи с 300x225.jpg
например. Това би изключило и някои фалшиви негативи, като например myphotox.jpg
както и кратки файлове като abc.jpg
Един от начините да преодолеете проблема с кратките файлове е, че приемате всички четирибуквени имена на файлове, които не включват xs.
^[[:alnum:]_-]+[^x]{5}.jpg|^[^x]{1,4}.jpg
Ако има изключения, уведомете ме, за да можем да нагласим regex.