in src/main/java/org/apache/sling/engine/impl/filter/FilterPredicate.java [138:154]
boolean test(final SlingHttpServletRequest req) {
LOG.debug("starting filter test against {} request", req);
final RequestPathInfo requestPathInfo = req.getRequestPathInfo();
final String path = requestPathInfo.getResourcePath();
final String uri = req.getPathInfo();
boolean select = anyElementMatches(methods, req.getMethod())
&& anyElementMatches(selectors, requestPathInfo.getSelectors())
&& anyElementMatches(extensions, requestPathInfo.getExtension())
&& anyResourceTypeMatches(resourceTypes, req)
&& (patternMatches(pathRegex, path == null || path.isEmpty() ? "/" : path)
|| patternMatches(pathRegex, uri == null || uri.isEmpty() ? "/" : uri))
&& (patternMatches(requestPathRegex, uri == null || uri.isEmpty() ? "/" : uri))
&& (patternMatches(resourcePathRegex, path == null || path.isEmpty() ? "/" : path))
&& patternMatches(suffixRegex, requestPathInfo.getSuffix());
LOG.debug("selection of {} returned {}", this, select);
return select;
}