str = "http://item.slide.com/r/1/96/i/kIYwFkPOzT8Hdojp1JaAoASAOuStEX4T/ <br>http://ipicture.ru/uploads/080410/fQy4Gw7XkR.jpg <br> http://img131.hotlinkimage.com/thumb/1322127986.jpeg";我用 p = Pattern.compile("http://(.*?).jpeg|http://(.*?).jpg");
总是把str 全部匹配了
我想把
.jpg  
.jpeg
拿出来

解决方案 »

  1.   

    你的意思是得到fQy4Gw7XkR.jpg 
      

  2.   

    String regex=".*[^tmb]\\.[jJ][pP][eE]?[gG]";
      

  3.   

    你用group啊。比如你的gourp1就是你的jpeg文件的名称。
      

  4.   

    http://ipicture.ru/uploads/080410/fQy4Gw7XkR.jpg  
    http://img131.hotlinkimage.com/thumb/1322127986.jpeg我要把这2张图片提取出来
      

  5.   

    p = Pattern.compile("http://(?:(?!http://).)*\\.jpe*g"); 
    .....
    System.out.println(m.group(0));
      

  6.   

    p = Pattern.compile("http://[a-zA-z0-9]+\\.jpeg"); 
      

  7.   

    如果你想取文件名 那就是 \w*\.[jJ][pP][eE]?[gG] 这种同上面一样
    如果你只想要不包含扩展名的文件名 
    String a = "asdfghjkl.jpg";//a是变量
    public static void main(String[] args){
    Test1 t = new Test1();
    if( t.a.substring( 0,t.a.length()-4 ).endsWith(".") ){
    String b = t.a.substring(0, t.a.length()-5);
    System.out.print(b);
    }else if(t.a.substring(0,t.a.length()-3).endsWith(".")){
    String b = t.a.substring(0, t.a.length()-4);
    System.out.print(b);
    } }
    这样能实现。
      

  8.   

    public class RegularTester {
        public static List<String> match(String input, String regex) {
            Pattern p = Pattern.compile(regex);
            List<String> result = new ArrayList<String>();        Matcher matcher = p.matcher(input);
            while (matcher.find()) {            
                result.add(matcher.group(1));
            }        return result;
        }    public static void main(String[] args) {
            String str = "http://item.slide.com/r/1/96/i/kIYwFkPOzT8Hdojp1JaAoASAOuStEX4T/  <br>http://ipicture.ru/uploads/080410/fQy4Gw7XkR.jpg  <br> http://img131.hotlinkimage.com/thumb/1322127986.jpeg";        System.out.println(match(str, "http\\:\\/\\/.+?\\/([^\\.\\/]+\\.(jpg|jpeg))").toString());
        }
    }
      

  9.   


    我匹配的结果是
    http://ipicture.ru/uploads/080410/fQy4Gw7XkR.jpg
    http://img131.hotlinkimage.com/thumb/1322127986.jpeg
    要带完整的url
      

  10.   

    我要的效果做到了
    可这句有点看不明白?
    大哥能解释下不
    http://(?:(?!http://).)*\\.jpe*g
      

  11.   

    Pattern.compile("http://((?!http://).)*\\.jpe*g");  我这样也可以匹配
    http://(?:  这里的 ?:实在是看不懂
      

  12.   

    result.add(matcher.group(1)); => result.add(matcher.group()); 
      

  13.   


    这样输出的结果不是我向要,你试试我要的是
    http://ipicture.ru/uploads/080410/fQy4Gw7XkR.jpg 
    http://img131.hotlinkimage.com/thumb/1322127986.jpeg