<div class="wide"><div class="in">
<a href="http://www.youtu.com/pms/view/c957bQ-vLr8/" target='_blank'>
<img src="http://img.absoure.com/data/imgs/i/0p.jpg" alt="ister,friends" class='pack_clipImg' />
</a> </div></div>
我现在匹配了“c957bQ-vLr8”这个字符, 根据这个字符, 需要得到 “http://img.absoure.com/data/imgs/i/0p.jpg”这个图片。必须考虑到“c957bQ-vLr8”这个, 因为页面是查找出来的, 很多条这个记录。 但是“c957bQ-vLr8” 这个相当于id, 要得到这个id的图片。
String searchStr = "/view/c957bQ-vLr8/" target='_blank'>\\s*<img src="(.*?)""; //主要这里正则, img  和前面的 是网页上的换行符号, 我是用\\s*来匹配,但是不行。 
Pattern p_img = Pattern.compile(searchStr);
Matcher m_img=p_img.matcher("这里是查找出来的很多条记录。"); 
    if(m_img.find()){
       System.out.println("youtu_img: "+ m_img.group(1));
    }
这个代码我取不到“http://img.absoure.com/data/imgs/i/0p.jpg”  , 各位前辈, 怎么修改正则, 才能得到呢?

解决方案 »

  1.   

    String searchStr = "/view/c957bQ-vLr8/.*?>.*?<img src=\"(.*?)\"";
    Pattern p_img = Pattern.compile(searchStr, Pattern.DOTALL);
      

  2.   

    String searchStr = "/view/([a-zA-Z1-9\\-]+?)/.*?>.*?<img src=\"(.*?)\"";
    Pattern p_img = Pattern.compile(searchStr, Pattern.DOTALL);
    Matcher m_img=p_img.matcher(str); 
    if(m_img.find()){
        System.out.println( m_img.group(1) + ": " + m_img.group(2));
    }