请问哪个熟悉正则表达式的高手知道,怎么判断一个网站内的源代码用了多少个<a hreaf>标签?

解决方案 »

  1.   

    这个是一个题目,要用JAVA写出来的```
      

  2.   

    如果只考虑<a href>这一种情况是比较简单的,主要是看可能的情况有多少种,比如大小写,有些地方可以有多个空格等。不过这种晴空可以通过预处理来减少复杂度。如匹配前把所有字符变成小写,把多个whitespace替换成一个空格等^_^
      

  3.   

    import java.net.*;
    import java.io.InputStream;
    import java.util.regex.*;public class sina{
    public static void main(String[] args)throws Exception{
    int length=0;
    URL url=new URL("http://www.sina.com");
    URLConnection cn=url.openConnection();
    InputStream in=cn.getInputStream();
    byte[] buffer=new byte[2048];
    StringBuffer sb=new StringBuffer();
    while((length=in.read(buffer,0,2048))!=-1)
    sb.append(new String(buffer,0,length));
    System.out.println(sb.toString());
    Pattern p = Pattern.compile("<\\p{Space}*[a|A]\\p{Space}*[h|H][r|R][e|E][f|F]\\p{Space}*=\\p{Space}*\".*?\"\\p{Space}*>");   Matcher m = p.matcher(sb);
      int i=0;
      while(m.find()){
      i++;
      }
      System.out.println(i);
    }
    }我自己写了这样的,有高手看下这样写是对的吗?