code: def _matches(self, url, options,
                   general_re, domain_required_rules, rules_with_options):
          
          if general_re and general_re.search(url):
              return True
  
          rules = []
          if 'domain' in options and domain_required_rules:
              src_domain = options['domain']
              for domain in _domain_variants(src_domain):
                  if domain in domain_required_rules:
                      rules.extend(domain_required_rules[domain])
  
          rules.extend(rules_with_options)
  
          if self.skip_unsupported_rules:
              rules = [rule for rule in rules if rule.matching_supported(options)]
  
          return any(rule.match_url(url, options) for rule in rules)
docs: Return if ``url``/``options`` are matched by rules defined by
          ``general_re``, ``domain_required_rules`` and ``rules_with_options``.
  
          ``general_re`` is a compiled regex for rules without options.
  
          ``domain_required_rules`` is a {domain: [rules_which_require_it]}
          mapping.
  
           ``rules_with_options`` is a list of AdblockRule instances that
          don't require any domain, but have other options.