Check site inclusion and exclusion
Please spinning it to a separate function. Here is what I think is a little more simpler implementation.

public boolean checkInclusion(String site_i, String site_e, Regex re) {
    if (site_i != null)
        return site_e.matches(re);
    else if(site_e != null)
        return !site_e.matches(re)))
    else
        return true;
}


In your implementation, what happens when the site inclusion has values but does not match, and site_exclusion is null? It seems to not match any of the conditions, which is not in sync with the requirements from my reading.

Also what happens when the site inclusion has values but does not match, and site_exclusion has values that does not match? In your implementation, it seems like site exclusion takes precedence. But that does not seem to be the requirement.

Perhaps I am reading either requirement wrongly or your implementation conditions wrongly?

A rather terse implementation that is same as above is,

public boolean checkInclusion(String site_i, String site_e, Regex re) {
    if (site_i != null) return site_i.matches(re);
    return site_e == null || !site_e.matches(re)
}