code: def get_values(item):
      
      fracs = r'|'.join(r.UNI_FRAC)
  
      value = item.group(2)
      value = re.sub(ur'(?<=\d)(%s)10' % r.MULTIPLIERS, 'e', value)
      value = re.sub(fracs, callback, value, re.IGNORECASE)
      value = re.sub(' +', ' ', value)
  
      range_separator = re.findall(ur'\d+ ?(-|and|(?:- ?)?to) ?\d', value)
      uncer_separator = re.findall(ur'\d+ ?(\+/-|±) ?\d', value)
      fract_separator = re.findall(ur'\d+/\d+', value)
  
      uncertainty = None
      if range_separator:
          values = value.split(range_separator[0])
          values = [float(re.sub(r'-$', '', i)) for i in values]
      elif uncer_separator:
          values = [float(i) for i in value.split(uncer_separator[0])]
          uncertainty = values[1]
          values = [values[0]]
      elif fract_separator:
          values = value.split()
          if len(values) > 1:
              values = [float(values[0]) + float(Fraction(values[1]))]
          else:
              values = [float(Fraction(values[0]))]
      else:
          values = [float(re.sub(r'-$', '', value))]
  
      logging.debug(u'\tUncertainty: %s', uncertainty)
      logging.debug(u'\tValues: %s', values)
  
      return uncertainty, values
docs: Extract value from regex hit.