我已经在一个html文件中取得这样:
<IMG title=点击查看大图   onerror="this.src='http://pic.sogou.com/image/8c9d655e7c4d564e.jpg'"   src="sogou.files/ee2858b753a4497d.gif">我想从中取得src="sogou.files/ee2858b753a4497d.gif"这样一个地址
如何来写这个正则表达式??高手帮帮忙!!小女初学者

解决方案 »

  1.   

    问题不是很明白,到底是要验证地址还是在什么地方要去的这个src的值?
      

  2.   

    在一个HTML文件中 取得图片的地址

    <IMG title=点击查看大图  onerror="this.src='http://pic.sogou.com/image/8c9d655e7c4d564e.jpg'"  src="sogou.files/ee2858b753a4497d.gif"> 取得这样的地址:
    src="sogou.files/ee2858b753a4497d.gif"
      

  3.   


    //  
    //
    import java.util.regex.*;public class Test36
    {
    public static void main(String... args) {
    String str = "<IMG title=点击查看大图  " + 
    "onerror=\"this.src=\'http://pic.sogou.com/image/8c9d655e7c4d564e.jpg\'\""+
    " src=\"sogou.files/ee2858b753a4497d.gif\">"; String regex = "(?:\\s(src=\".*?\")>)";
    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(str);
    while(m.find()) {
    System.out.println(m.group(1));
    }
    }
    }output:  src="sogou.files/ee2858b753a4497d.gif"
      

  4.   

    String s ="<IMG title=点击查看大图onerror=\"this.src=\'http://pic.sogou.com/image/8c9d655e7c4d564e.jpg\'\"  src=\"sogou.files/ee2858b753a4497d.gif\">" ;

    System.out.println(s.substring(s.lastIndexOf(" ")+1,s.lastIndexOf("\"")+1));此题用这种方式较为简单  如果要用正则 7楼的方式可以实现 还有种比较简单的方法 注意src前面有空格 可以用正则表达式拆分字符串  不过需要手动删除掉字符串结尾的>         String s ="<IMG title=点击查看大图onerror=\"this.src=\'http://pic.sogou.com/image/8c9d655e7c4d564e.jpg\'\"  src=\"sogou.files/ee2858b753a4497d.gif\"" ;
      String[] arr =s.split(" ");//split(String regex)
      
      System.out.println(arr[arr.length - 1]);
      

  5.   

    我正则不是很好,但觉得这个写的复杂了点,也许自己想的不够详细
    import java.util.regex.*;public class Test1
    {
        public static void main(String... args) {
            String str = "<IMG title=点击查看大图  onerror=\"this.src='http://pic.sogou.com/image/8c9d655e7c4d564e.jpg'\"  src=\"sogou.files/ee2858b753a4497d.gif\"> ";        String regex = "src=\".*\"";
            Pattern p = Pattern.compile(regex);
            Matcher m = p.matcher(str);
            while(m.find()) {
                System.out.println(m.group());
            }
        }
    }