如何匹配文件名字是*.jpg,*.bmp,*.png 等图片格式
求正则写法

解决方案 »

  1.   

    ".\\.(jpg|bmp|png)$"这个是前面可以是任意字符的,虽然文件名不允许很多字符,但是无关紧要吧
      

  2.   

    ".\\.(jpg)|(bmp)|(png)$"错了,应该这么写
      

  3.   

    import java.util.regex.*;public class Test {
    public static void main(String[] args) {
    Pattern p = Pattern.compile(".+\\.(jpg|bmp|png)$");
    Matcher m1 = p.matcher("abc.jpg");
    Matcher m2 = p.matcher("abc.jpg.txt");
    Matcher m3 = p.matcher("abc.bmp");
    Matcher m4 = p.matcher("abc.bmpa");
    Matcher m5 = p.matcher(".png");
    Matcher m6 = p.matcher("abc.png");
    System.out.println(m1.matches());
    System.out.println(m2.matches());
    System.out.println(m3.matches());
    System.out.println(m4.matches());
    System.out.println(m5.matches());
    System.out.println(m6.matches());
    }
    }事实证明,想当然果然是不可取的,不仅我想当然了,楼上的也想当然了,我用"abcjpg"就可以破你的正则。
      

  4.   

    看错 了,是5楼,其实 都是
     Tassdars
     (超人一世代)呵呵。