Java Regex模式获取锚文本

时间:2010-09-23 09:21:27

标签: java html regex

我有一个页面源,我想获得所有锚标记的锚文本

有人可以帮助我解决它的模式。

先谢谢

2 个答案:

答案 0 :(得分:2)

karim79是正确的,正则表达式可能是错误的方式,但无论如何这里是一个简单的方法可以用Java完成。请注意,如果锚点在href之前具有aditional属性,则此操作无效。但是,这可能是一个良好的开端,也可以帮助您了解如何做到这一点。

    String html = "<body>" +
            "<a href=\"#first\">got to first</a>" +
            "<span>something else</span>" +
            "<a href=\"#second\">got to second</a>" +
            "</body>";

    Pattern pattern = Pattern.compile("<a href=\"#(\\w+)\">([\\w\\s]+)</a>");
    Matcher matcher = pattern.matcher(html);
    while(matcher.find()){
        System.out.println(matcher.group(2));
    }

答案 1 :(得分:0)

试试这个正则表达式模式,应该给你你想要的东西:

(?<=<\s*a[^>]*>)(?<anchorContent>[\s\S]*?)(?=<\s*/a>)

这将为您提供一个名为“anchorContent”的组

希望有所帮助。