java - 在 jsoup 中使用正则表达式

标签 java jsoup web-crawler

我正在 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]

关于java - 在 jsoup 中使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28149254/

相关文章:

java - 为什么运行时异常在Java代码中被称为运行时异常?

java - Elements 类可以解决这个问题

java - 当用户单击 WebView 内的链接时如何给出 url

php - 使用 php 计算 html 文件中的 li 项目

python - 如何处理未由 http 状态代码指示的临时错误?

java - Mockito stub thenAnswer 抛出空指针异常

java - 扩展数组以传递给可变参数

java - Try-catch 在执行 SQL 查询时忽略变量的赋值

java - 获取元素后用 br 分隔的值

javascript - 如何从另一个网站提取数据以及 ip 、位置和国家/地区代码