我最近实施了Crawler4j,我试图通过逐行分解来自学代码。我无法理解下面代码行中的!FILTERS对象是什么意思。
@Override
public boolean shouldVisit(WebURL url) {
String href = url.getURL().toLowerCase();
return !FILTERS.matcher(href).matches() && href.startsWith("http://www.ics.uci.edu/");
}
如果有人帮我理解,我将不胜感激!过滤器
答案 0 :(得分:2)
这只是对条件的否定......你应该这样读:
! ( FILTERS.matcher(href).matches() ) [...]
基本上,如果过滤器与href不匹配,并且href以" http://www.ics.uci.edu/"开头,则该函数将返回true。
答案 1 :(得分:1)
FILTERS.matcher(href).matches()
的相反值。基本上感叹号也称为negate
符号。
如果此条件:FILTERS.matcher(href).matches()
返回true,则将其更改为false。