有这样一个文本<a href="xxxxx"><font>xx</font><font>qqqq</font></a><br/>请问在Java中,将<a>中间的文本(也就是"><font>xx</font><font>qqqq</font>)取出来的正则表达式该怎么写?我写的正则表达式总是会把</a><br/>也取出来。苦恼死了!

解决方案 »

  1.   

    String pat="<a.+?href=(\"|'|)\\b(.+?)\\b\\1(?:\\s.*)?>(.+?)</a>";
      

  2.   

    String str="<a href='afb.htm'><font class=1 >kdsfj</font><br/></a><br/>";
            String pat="<a.+?href=(\"|'|)\\b(.+?)\\b\\1(?:\\s.*)?>(.+?)</a>";
            Pattern pattern=Pattern.compile(pat);
            Matcher matcher=pattern.matcher(str);
            while(matcher.find()){
              System.out.println("href:"+matcher.group(2));
              System.out.println("text:"+matcher.group(3));
            }输出:
    href:afb.htmtext:<font class=1 >kdsfj</font><br/>