code: def match(version, match_expr):
      
      prefix = match_expr[:2]
      if prefix in ('>=', '<=', '==', '!='):
          match_version = match_expr[2:]
      elif prefix and prefix[0] in ('>', '<'):
          prefix = prefix[0]
          match_version = match_expr[1:]
      else:
          raise ValueError("match_expr parameter should be in format <op><ver>, "
                           "where <op> is one of "
                           "['<', '>', '==', '<=', '>=', '!=']. "
                           "You provided: %r" % match_expr)
  
      possibilities_dict = {
          '>': (1,),
          '<': (-1,),
          '==': (0,),
          '!=': (-1, 1),
          '>=': (0, 1),
          '<=': (-1, 0)
      }
  
      possibilities = possibilities_dict[prefix]
      cmp_res = compare(version, match_version)
  
      return cmp_res in possibilities
docs: Compare two versions through a comparison
  
      :param str version: a version string
      :param str match_expr: operator and version; valid operators are
            <   smaller than
            >   greater than
            >=  greator or equal than
            <=  smaller or equal than
            ==  equal
            !=  not equal
      :return: True if the expression matches the version, otherwise False
      :rtype: bool
  
      >>> import semver
      >>> semver.match("2.0.0", ">=1.0.0")
      True
      >>> semver.match("1.0.0", ">1.0.0")
      False