Java регулярное выражение для имени файла изображения? - PullRequest
3 голосов
/ 18 августа 2011

Мне нужно отфильтровать имена файлов, чтобы они соответствовали только файлам изображений (png, jpg, gif, bmp), возможно ли создать такое регулярное выражение или мне нужно иметь разные регулярные выражения для каждого типа файлов? Он также не может содержать путь, например ../../ или /var/app/filename.exe и т. Д.

Ответы [ 4 ]

9 голосов
/ 18 августа 2011

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

(.*/)*.+\.(png|jpg|gif|bmp|jpeg|PNG|JPG|GIF|BMP|JPEG)$

Как строка Java, это регулярное выражение выглядит так:

"(.*/)*.+\\.(png|jpg|gif|bmp|jpeg|PNG|JPG|GIF|BMP|JPEG)$"

Надеюсь, это поможет ...:)

4 голосов
/ 18 августа 2011

Ссылка:

http://www.mkyong.com/regular-expressions/how-to-validate-image-file-extension-with-regular-expression/

Надеюсь, вы найдете это полезным.

2 голосов
/ 18 августа 2011

Довольно просто:

re = ".*\\.(png|jpg|gif|bmp)"

до тех пор, пока вам не нужны верхний регистр и JPEG. :)

0 голосов
/ 04 декабря 2014

Этот шаблон работает для меня: (.*/)*.+\.(png|jpg|gif|bmp|jpeg|PNG|JPG|GIF|BMP)$

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...