我想要一个能够匹配任意一个超链接的正则表达式 该如何写啊

解决方案 »

  1.   

     public static String findHrefUrl(String str) {  
            String regxp = "href=[\'\"]([\\w\\d\\.:/?=&;-[#]]*)[\'\"]";  
            Pattern pattern = Pattern.compile(regxp);  
            Matcher matcher = pattern.matcher(str);
            String result = "";
            while( matcher.find()){
             result = matcher.group();
             int i = result.indexOf("\"");
             if (i == -1){
             String[] asStr = result.split("\'");
             return asStr[1];
             } else {
             String[] asStr = result.split("\"");
             return asStr[1];
             }
            }
            return null;  
        } 
      

  2.   

    package com.text.soc;import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class aaaa {
    public static String findHrefUrl(String str) {   
      String regxp = "href=[\'\"]([\\w\\d\\.:/?=&;-[#]]*)[\'\"]";   
      Pattern pattern = Pattern.compile(regxp);   
      Matcher matcher = pattern.matcher(str);
      String result = "";
      while( matcher.find()){
      result = matcher.group();
      int i = result.indexOf("\"");
      if (i == -1){
      String[] asStr = result.split("\'");
      return asStr[1];
      } else {
      String[] asStr = result.split("\"");
      return asStr[1];
      }
      }
      return null;   
     
    }
    public static void main(String[] args) {
    URL url;
    try {
    url = new URL("http://www.hao123.com");
    BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream()));
    char[] ch=new char[1024];
    int len=0;
    StringBuffer sb=new StringBuffer();
    StringBuffer buff=null;
    while((len=br.read(ch))!=-1){
    buff=sb.append(ch);
    }
    String str=buff.toString();
    System.out.println(str);
    String ul=findHrefUrl(str);
    System.out.println(ul);
    } catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
    恩 谢谢你的帮忙但是我试了一下
    为什么只打印www.hao123.com
      

  3.   

    <a.*?href=(?:\"|')(.*?)(?:\"|').*?>.*?</a>