'Returns True if *matchstr* does not match patterns
``self.package_name`` removed from front of string if present
Examples
>>> dw = ApiDocWriter(\'sphinx\')
>>> dw._survives_exclude(\'sphinx.okpkg\', \'package\')
True
>>> dw.package_skip_patterns.append(\'^\.badpkg$\')
>>> dw._survives_exclude(\'sphinx.badpkg\', \'package\')
False
>>> dw._survives_exclude(\'sphinx.badpkg\', \'module\')
True
>>> dw._survives_exclude(\'sphinx.badmod\', \'module\')
True
>>> dw.module_skip_patterns.append(\'^\.badmod$\')
>>> dw._survives_exclude(\'sphinx.badmod\', \'module\')
False'

def _survives_exclude(self, matchstr, match_type):

    if (match_type == 'module'):
        patterns = self.module_skip_patterns
    elif (match_type == 'package'):
        patterns = self.package_skip_patterns
    else:
        raise ValueError(('Cannot    interpret    match    type    "%s"' % match_type))
    L = len(self.package_name)
    if (matchstr[:L] == self.package_name):
        matchstr = matchstr[L:]
    for pat in patterns:
        try:
            pat.search
        except AttributeError:
            pat = re.compile(pat)
        if pat.search(matchstr):
            return False
    return True
