code: def tagre(tag, attribute, value, quote='"', before="", after=""):
      
      if before:
          prefix = r"[^>]*%s[^>]*\s+" % before
      else:
          prefix = r"(?:[^>]*\s+)?"
      attrs = dict(
          tag=case_insensitive_re(tag),
          attribute=case_insensitive_re(attribute),
          value=value,
          quote=quote,
          prefix=prefix,
          after=after,
      )
      return r'<\s*%(tag)s\s+%(prefix)s%(attribute)s\s*=\s*%(quote)s%(value)s%(quote)s[^>]*%(after)s[^>]*>' % attrs
docs: Return a regular expression matching the given HTML tag, attribute
      and value. It matches the tag and attribute names case insensitive,
      and skips arbitrary whitespace and leading HTML attributes. The "<>" at
      the start and end of the HTML tag is also matched.
      @param tag: the tag name
      @ptype tag: string
      @param attribute: the attribute name
      @ptype attribute: string
      @param value: the attribute value
      @ptype value: string
      @param quote: the attribute quote (default ")
      @ptype quote: string
      @param after: match after attribute value but before end
      @ptype after: string
  
      @return: the generated regular expression suitable for re.compile()
      @rtype: string