code: def regexizeTagGlob(tag):
      '''
      Returns:
          a regular expression string with ** and * interpreted as tag globs
  
      Precondition:
          tag is a valid tagmatch
  
      Notes:
          A single asterisk will replace exactly one dot-delimited component of a tag
          A double asterisk will replace one or more of any character.
  
          The returned string does not contain a starting '^' or trailing '$'.
      '''
      return ReRegex.sub(lambda m: r'[^.]+?' if m.group(1) is None else r'.+', regex.escape(tag)f regexizeTagGlob(tag):
      '''
      Returns:
          a regular expression string with ** and * interpreted as tag globs
  
      Precondition:
          tag is a valid tagmatch
  
      Notes:
          A single asterisk will replace exactly one dot-delimited component of a tag
          A double asterisk will replace one or more of any character.
  
          The returned string does not contain a starting '^' or trailing '$'.
      '''
      return ReRegex.sub(lambda m: r'[^.]+?' if m.group(1) is None else r'.+', regex.escape(tag))
docs: Returns:
          a regular expression string with ** and * interpreted as tag globs
  
      Precondition:
          tag is a valid tagmatch
  
      Notes:
          A single asterisk will replace exactly one dot-delimited component of a tag
          A double asterisk will replace one or more of any character.
  
          The returned string does not contain a starting '^' or trailing '$'.