首页 > 解决方案 > JSoup 选择器包含两个元素

问题描述

我有一种情况,我需要同时包含 JSoup 选择器中的两个可能的词。我已经为第一个单词做了它,但是很难有某种逻辑 OR '包含另一个单词'。我已经拥有的代码:

         Iterator<Element> activity = table.select("td[class=xl75], td[class=xl71], td[class=xl73]:contains(word1))").iterator();

我试图以这种方式编辑它: Iterator<Element> activity = table.select("td[class=xl75], td[class=xl71], td[class=xl73]:contains(word1):contains(word2)").iterator(); 但它不起作用。任何想法都必须在一个选择器中包含两个单词?

标签: javaselectweb-scrapingjsoup

解决方案


您可以考虑对这种工作使用正则表达式匹配。您的选择器在哪里:

td[class=xl75], td[class=xl71], td[class=xl73]:contains(word1):contains(word2)

可以改写为如下代码:

td[class=xl75], td[class=xl71], td[class=xl73]:matches((word1)|(word2))

推荐阅读