在 jsoup 中使用正则表达式

using a regex in jsoup

我正在 jsoup 尝试我的第一个严肃项目,但我被困在这件事上-

我正在尝试从网站获取邮政编码。有一个邮政编码列表。

这是显示邮政编码的行之一-

<td align="center"><a href="http://www.zipcodestogo.com/Hialeah/FL/33011/">33011</a></td>   

所以我的想法是遍历页面并获取包含 1-9 中 6 位数字的所有字符串。正则表达式是 ^[0-9]{6,6}$

代码是 -

doc.select("td:matchesOwn(^[0-9]{5,5}$)");

但什么也没有出来。我找不到从该站点获取这些邮政编码的方法.... 有人知道怎么做吗?

这里真正的问题是我如何获得不在任何标签中但只是公开写出的数字(我想有一个术语,但我对 xml 不是很好项)

我用Element#getElementsMatchingOwnText解决了它:

public static void main(String[] args) {
    final String html = "<td align=\"center\"><a href=\"http://www.zipcodestogo.com/Hialeah/FL/33011/\">33011</a></td> ";
    final Elements elements = Jsoup.parse(html).getElementsMatchingOwnText("^[0-9]{5,5}$");

    for (final Element element : elements) {
        System.out.println("element = [" + element + "]");
        System.out.println("zip = [" + element.text() + "]");
    }
}

输出:

element = [<a href="http://www.zipcodestogo.com/Hialeah/FL/33011/">33011</a>]
zip = [33011]