<script>
var str="ksldfjk<a href='a.jsp'>aaa</a><a href='a.jsp'>aaa</a><a href='a.jsp'>aaa</a>";
var url=[];
var urlname=[];
var i=0;
str.replace(/<a\s+href=[\"']?([^<>\"']*)[\"']?>(.*?)<\/a>/g,function($0,$1,$2){url[i]=$1;urlname[i]=$2;i++});
alert(url);
alert(urlname);
</script>

解决方案 »

  1.   

    如果是在JAVA里面呢,又该怎么写?
      

  2.   

    如果超连接还设置了其他属性,稍加改动即可
    <script>
    var str="ksldfjk<a href='a.jsp'>aaa</a><a href='a.jsp'>aaa</a><a href='a.jsp'>aaa</a>";
    var url=[];
    var urlname=[];
    var i=0;
    str.replace(/<a.*?href=[\"']?([^<>\"']*)[\"']?.*?>(.*?)<\/a>/g,function($0,$1,$2){url[i]=$1;urlname[i]=$2;i++});
    alert(url);
    alert(urlname);
    </script>
      

  3.   

    JAVA版:
    String regex="<a.*?href=[\"']?([^<>\"']*)[\"']?.*?>(.*?)<\\/a>";
    Pattern p=Pattern.compile(regex);

    String input="ksldfjk<a href='a.jsp'>aaa</a><a href='a.jsp'>aaa</a><a href='a.jsp'>aaa</a>";
    Matcher m=p.matcher(input);

    List url=new ArrayList();
    List urlname=new ArrayList();

    while(m.find()){
    url.add(m.group(1));
    urlname.add(m.group(2));
    }

    for(int i=0;i<url.size();i++){
    System.out.println(url.get(i)+"="+urlname.get(i));
    }
      

  4.   

    Click the link to solve your problem.Good luck!