String r="\\.(?:txt|aspx)$",input="bb.txt";
System.out.println(r);
System.out.println(input.matches(r));
System.out.println(Pattern.matches(r, input));
大家帮忙看看,这两个为什么是false啊,真见鬼了,

解决方案 »

  1.   

    [code=Java]Pattern regex = Pattern.compile("[^.]++\\.(?:txt|aspx)$");[code]
      

  2.   

    Pattern regex = Pattern.compile("[^.]++\\.(?:txt|aspx)$");
    上面格式乱了
      

  3.   

    这样写表示什么?
    我在c#和js里上面那应该都没问题啊
    这个区别主要是在?
      

  4.   

    \\.(?:txt|aspx)$
    你前面都没有匹配bb的,怎么会为TRUE。
    2#的是对的。
      

  5.   

    兄弟你可能是这个问题
    http://hi.baidu.com/martian_ma/blog/item/2aaa55fbbc0d4e809f51461c.html
    你看看吧