?System.out.println(m.group(2)); ????

解决方案 »

  1.   

    System.out.println(m.groupCount());
    看看到底是多少个结果?
      

  2.   

    ralihm(raly)你好,我将表达式换为你所说如下:
    java.util.regex.Pattern.compile("<[^>]*\\n?.*=(\"|')?([^>]*\\."jpg")(\"|')?[^>]*\\n?>")
    这样的话不同文件类型的文件都能搜索出来,但同一种类型就只能搜索后一个.
    比如<img src="test1.jpg"><img src="test2.jpg"><img src="test3.jpg">
    只能搜索出test3.jpg
    <img src="test1.jpg"><img src="test2.css"><img src="test3.swf">
    搜索出test1.jpg,test2.css,test3.swf
    即同类文件只能搜索出一个,帮忙看一下.
      

  3.   

    String yourStr = "XXXXX";Pattern p1 = Pattern.compile( "src\\p{Punct}[\\s]*\\p{Punct}[\\w]+\\p{Punct}[\\w]+\\p{Punct}" );
    Pattern p2 = Pattern.compile( "[\\w]+\\p{Punct}[\\w]+" );
    Matcher m1 = p1.matcher( yourStr );
    while (m1.find()){
    String tmp = yourStr.substring(m1.start(),m1.end());
    Matcher m2 = p2.matcher( tmp );
    m2.find();
    System.out.println( tmp.substring(m2.start(),m2.end()));
    }