问题描述:
我获取了一个页面下的源文件,然后想从源文件中找到我想得到的URL!
<li>
<div class="img"><a href="http://www.ysmi.cc/Zuixinmeiju/BYHZGDSJ/" target="_blank"><img src="http://pic.ysmi.cc/im/201304/20134818195728478.jpg" alt="权力的游戏 第三季" width="120" height="145" border="0"/></a><h3><a><b>6.7</b>分</a></h3></div>
<dl>
<dt><a href="http://www.ysmi.cc/Zuixinmeiju/BYHZGDSJ/" target="_blank">权力的游戏 第三季</a></dt>
<dd>
<p>故事将改编自乔治·R·R·马丁(GeorgeRRMartin)系列小说的第三卷。大卫·贝尼奥夫表示,《冰与火之歌权力的游戏》第三季将继续做到最好</p>
</dd>
</dl>
</li>
<li>
<div class="img"><a href="http://www.ysmi.cc/Zuixinmeiju/sbdksfcdsj/" target="_blank"><img src="http://pic.ysmi.cc/im/201301/201312421555764686.jpg" alt="斯巴达克斯亡者之役 第三季" width="120" height="145" border="0"/></a><h3><a><b>6.6</b>分</a></h3></div>
<dl>
<dt><a href="http://www.ysmi.cc/Zuixinmeiju/sbdksfcdsj/" target="_blank">斯巴达克斯亡者之役 第三季</a></dt>
<dd>
<p>两年前,《斯巴达克斯:血与沙》横空出世,立即抓住了观众的目光。这部史诗巨作,拥有电影《斯巴达300壮士》的画面感、《角斗士》的真实感和《罗马》的</p>
</dd>
</dl>
</li>
<li>
<div class="img"><a href="http://www.ysmi.cc/Zuixinmeiju/XXGRJDSJ26676/" target="_blank"><img src="http://pic.ysmi.cc/im/201210/2012101215221925769.jpg" alt="吸血鬼日记 第四季" width="120" height="145" border="0"/></a><h3><a><b>6.7</b>分</a></h3></div>
<dl>
<dt><a href="http://www.ysmi.cc/Zuixinmeiju/XXGRJDSJ26676/" target="_blank">吸血鬼日记 第四季</a></dt>
<dd>
<p>今年5月3日,CW台宣布续订《吸血鬼日记》第四季,预计将于今年10月11日回归。第四季的开始,一切就已经变的不同了,埃琳娜和她的朋友们进入了最后</p>
</dd>
</dl>
</li>最后想要的格式是:
图片路径:
imgPath = http://pic.ysmi.cc/im/201304/20134818195728478.jpg
imgPath = http://pic.ysmi.cc/im/201301/201312421555764686.jpg
imgPath = http://pic.ysmi.cc/im/201210/2012101215221925769.jpg
alt = 权力的游戏 第三季
alt = 斯巴达克斯亡者之役 第三季
alt = 吸血鬼日记 第四季
嗯 因为入门不长时间所以只知道能以正则表达式取出!欢迎指教!
如果有时间麻烦帮写下~或者发我一些基础的正则文章~比较好的!
第一时间结贴!正则表达式URL

解决方案 »

  1.   

    String regex = "img src=\"(.*?)\".*?alt=\"(.*?)\"";
    String input = "<img src=\"http://pic.ysmi.cc/im/201301/201312421555764686.jpg\" alt=\"斯巴达克斯亡者之役 第三季\" width=\"120\" height=\"145\" ";

    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(input);
    while (m.find()) {
    System.out.println("imgPath = " + m.group(1));
    System.out.println("alt = " + m.group(2));
    }
    供你参考^_^
      

  2.   

    稍微写了一下
    实现了效果
    有问题再问
    只不过这种获取字符串的方式不推荐正则,效率不高。lic static void main(String[] args) {
    String str="<img src=\"http://pic.ysmi.cc/im/201304/20134818195728478.jpg\" alt=\"权力的游戏 第三季\" width=\"120\" height=\"145\" border=\"0\"/></a><h3><a><b>6.7</b>分</a></h3></div>";
    //(?s)忽视换行
    String regex="(?s)<img src=\"(http:.*?)\".*?alt=\"(.*?)\"";
    Pattern p=Pattern.compile(regex);
    Matcher m=p.matcher(str);
    while(m.find()){
    System.out.println(m.group(1));
    System.out.println(m.group(2));
    }
      

  3.   

    用indexOf和substring分段截取应该更快点。
      

  4.   

    给你推荐个牛人的博客http://blog.csdn.net/lxcnn