我必须过滤文件名以仅匹配图像(png,jpg,gif,bmp)文件,是否可以制作这样的正则表达式或者我是否必须为每种文件类型使用不同的正则表达式?它也不能包含../../或/var/app/filename.exe等路径。
答案 0 :(得分:9)
我会使用这样的东西......这应该涵盖大多数情况,而不会过多地涉及疯狂的细节......
(.*/)*.+\.(png|jpg|gif|bmp|jpeg|PNG|JPG|GIF|BMP|JPEG)$
作为Java String,这个正则表达式如下所示:
"(.*/)*.+\\.(png|jpg|gif|bmp|jpeg|PNG|JPG|GIF|BMP|JPEG)$"
希望有帮助......:)
答案 1 :(得分:4)
链接:
我希望你觉得它很有用。
答案 2 :(得分:2)
非常简单:
re = ".*\\.(png|jpg|gif|bmp)"
只要你不需要UPPERCASE和jpeg。 :)
答案 3 :(得分:0)
这种模式对我有用:(.*/)*.+\.(png|jpg|gif|bmp|jpeg|PNG|JPG|GIF|BMP)$