code: def extract_variables(href):
      
  
      patterns = [re.sub(r'\*|:\d+', '', pattern)
                  for pattern in re.findall(r'{[\+#\./;\?&]?([^}]+)*}', href)]
      variables = []
      for pattern in patterns:
          for part in pattern.split(","):
              if not part in variables:
                  variables.append(part)
  
      return variables
docs: Return a list of variable names used in a URI template.