code: def version_str2tuple(cls, version_str):
          
          if not isinstance(version_str, str):
              ValueError('version_str invalid instance.')
          version_info_list = re.findall(r'[0-9a-zA-Z]+', version_str)
  
          def convert_to_int(string):
              value = None
              if re.match(r'^\d+$', string):
                  value = int(string)
              else:
                  value = string
              return value
  
          version_info_list = [convert_to_int(s) for s in version_info_list]
  
          return tuple(version_info_list)
docs: Version info.
  
          tuple object. ex. ('4', '14', '0', 'rc1')