(self, pattern, anchor=True, prefix=None,
                           is_regex=False)
return re.compile(pattern_re)
Translate a shell-like wildcard pattern to a compiled regular
        expression.

        Return the compiled regex.  If 'is_regex' true,
        then 'pattern' is directly compiled to a regex (if it's a string)
        or just returned as-is (assumes it's a regex object).
Translate a shell-like wildcard pattern to a compiled regular
        expression.
Translate a shell - like wildcard pattern to a compiled regular expression .
def _translate_pattern(self, pattern, anchor=True, prefix=None,
                           is_regex=False):
        """Translate a shell-like wildcard pattern to a compiled regular
        expression.

        Return the compiled regex.  If 'is_regex' true,
        then 'pattern' is directly compiled to a regex (if it's a string)
        or just returned as-is (assumes it's a regex object).
        """
        if is_regex:
            if isinstance(pattern, str):
                return re.compile(pattern)
            else:
                return pattern

        if _PYTHON_VERSION > (3, 2):
            # ditch start and end characters
            start, _, end = self._glob_to_re('_').partition('_')

        if pattern:
            pattern_re = self._glob_to_re(pattern)
            if _PYTHON_VERSION > (3, 2):
                assert pattern_re.startswith(start) and pattern_re.endswith(end)
        else:
            pattern_re = ''

        base = re.escape(os.path.join(self.base, ''))
        if prefix is not None:
            # ditch end of pattern character
            if _PYTHON_VERSION <= (3, 2):
                empty_pattern = self._glob_to_re('')
                prefix_re = self._glob_to_re(prefix)[:-len(empty_pattern)]
            else:
                prefix_re = self._glob_to_re(prefix)
                assert prefix_re.startswith(start) and prefix_re.endswith(end)
                prefix_re = prefix_re[len(start): len(prefix_re) - len(end)]
            sep = os.sep
            if os.sep == '\\':
                sep = r'\\'
            if _PYTHON_VERSION <= (3, 2):
                pattern_re = '^' + base + sep.join((prefix_re,
                                                    '.*' + pattern_re))
            else:
                pattern_re = pattern_re[len(start): len(pattern_re) - len(end)]
                pattern_re = r'%s%s%s%s.*%s%s' % (start, base, prefix_re, sep,
                                                  pattern_re, end)
        else:  # no prefix -- respect anchor flag
            if anchor:
                if _PYTHON_VERSION <= (3, 2):
                    pattern_re = '^' + base + pattern_re
                else:
                    pattern_re = r'%s%s%s' % (start, base, pattern_re[len(start):])

        return re.compile(pattern_re)
def _translate_pattern ( self , pattern , anchor = True , prefix = None , is_regex = False ) : if is_regex : if isinstance ( pattern , str ) : return re . compile ( pattern ) else : return pattern if _PYTHON_VERSION > ( 3 , 2 ) : # ditch start and end characters start , _ , end = self . _glob_to_re ( '_' ) . partition ( '_' ) if pattern : pattern_re = self . _glob_to_re ( pattern ) if _PYTHON_VERSION > ( 3 , 2 ) : assert pattern_re . startswith ( start ) and pattern_re . endswith ( end ) else : pattern_re = '' base = re . escape ( os . path . join ( self . base , '' ) ) if prefix is not None : # ditch end of pattern character if _PYTHON_VERSION <= ( 3 , 2 ) : empty_pattern = self . _glob_to_re ( '' ) prefix_re = self . _glob_to_re ( prefix ) [ : - len ( empty_pattern ) ] else : prefix_re = self . _glob_to_re ( prefix ) assert prefix_re . startswith ( start ) and prefix_re . endswith ( end ) prefix_re = prefix_re [ len ( start ) : len ( prefix_re ) - len ( end ) ] sep = os . sep if os . sep == '\\' : sep = r'\\' if _PYTHON_VERSION <= ( 3 , 2 ) : pattern_re = '^' + base + sep . join ( ( prefix_re , '.*' + pattern_re ) ) else : pattern_re = pattern_re [ len ( start ) : len ( pattern_re ) - len ( end ) ] pattern_re = r'%s%s%s%s.*%s%s' % ( start , base , prefix_re , sep , pattern_re , end ) else : # no prefix -- respect anchor flag if anchor : if _PYTHON_VERSION <= ( 3 , 2 ) : pattern_re = '^' + base + pattern_re else : pattern_re = r'%s%s%s' % ( start , base , pattern_re [ len ( start ) : ] ) return re . compile ( pattern_re )