String str ="<a href=\"http://news.bai-du.com.cn/ns?cl=2&rn=20&tn=news&word=a\">体 育</a>"
+ "<a href=\"http://news.aa.com/ns?cl=2&rn=20&tn=news&word=a\">新闻</a>";如题~~我现在的需求是用正则表达式分别获得 字符串str中的两个链接的文本,
要示的打印结果如下
<a href=\"http://news.bai-du.com.cn/ns?cl=2&rn=20&tn=news&word=a\">体 育</a>"
"<a href=\"http://news.aa.com/ns?cl=2&rn=20&tn=news&word=a\">新闻</a>
但现在我这与的代码却因为"体 育"两个字的中间有一个空白符(可以是空格,tab,回车等),所以第一句匹配不到~~只能匹配到第二句(新闻的那一行代码),请问我应该怎么写正则表达式来解决呢?
我的代码如下:
import java.util.regex.*;public class Regex {
    Regex() {
    }
    public static void main(String[] args) {
String str ="<a href=\"http://news.bai-du.com.cn/ns?cl=2&rn=20&tn=news&word=a\">体 育</a>"+ "<a href=\"http://news.aa.com/ns?cl=2&rn=20&tn=news&word=a\">新闻</a>";
Matcher m1 = Pattern.compile("<a href(\\S+)</a>").matcher(str);
while(m1.find()) {
    for (int i = 0; i<m1.groupCount(); i++) {
System.out.println (m1.group()); }
}

}
}  

解决方案 »

  1.   

    String str = "<a href=\"http://news.bai-du.com.cn/ns?cl=2&rn=20&tn=news&word=a\">体 育</a>"
                    + "<a href=\"http://news.aa.com/ns?cl=2&rn=20&tn=news&word=a\">新闻</a>";
            Pattern p = Pattern.compile("<a[^<]+</a>");
            Matcher m = p.matcher(str);
            while (m.find()) {
                System.out.println(str.substring(m.start(), m.end()));
            }out =>  
    <a href="http://news.bai-du.com.cn/ns?cl=2&rn=20&tn=news&word=a">体 育</a>
    <a href="http://news.aa.com/ns?cl=2&rn=20&tn=news&word=a">新闻</a>
      

  2.   

    加括号不行?什么意思?
    一样代码
    String str = "<a href=\"http://news.bai-du.com.cn/ns?cl=2&rn=20&tn=news&word=a\">体 育(好啊,加油!)</a>"
                    + "<a href=\"http://news.aa.com/ns?cl=2&rn=20&tn=news&word=a\">新闻(fdsafd!$&*#&^&@s)</a>";
            Pattern p = Pattern.compile("<a[^<]+</a>");
            Matcher m = p.matcher(str);
            while (m.find()) {
                System.out.println(str.substring(m.start(), m.end()));
            }运行输出 =>
    <a href="http://news.bai-du.com.cn/ns?cl=2&rn=20&tn=news&word=a">体 育(好啊,加油!)</a>
    <a href="http://news.aa.com/ns?cl=2&rn=20&tn=news&word=a">新闻(fdsafd!$&*#&^&@s)</a>
      

  3.   

    刚刚搞错了,不是有括号不行,而是如果变成这个样式了才不行的 "休 育"-"体 育(<font style="color:red;background-color:">长沙</font>市,10人)"