code: def _partialParseUnits(self, s, sourceTime):
          
          parseStr = None
          chunk1 = chunk2 = ''
  
          # Quantity + Units
          m = self.ptc.CRE_UNITS.search(s)
          if m is not None:
              debug and log.debug('CRE_UNITS matched')
              if self._UnitsTrapped(s, m, 'units'):
                  debug and log.debug('day suffix trapped by unit match')
              else:
                  if (m.group('qty') != s):
                      # capture remaining string
                      parseStr = m.group('qty')
                      chunk1 = s[:m.start('qty')].strip()
                      chunk2 = s[m.end('qty'):].strip()
  
                      if chunk1[-1:] == '-':
                          parseStr = '-%s' % parseStr
                          chunk1 = chunk1[:-1]
  
                      s = '%s %s' % (chunk1, chunk2)
                  else:
                      parseStr = s
                      s = ''
  
          if parseStr:
              debug and log.debug('found (units) [%s][%s][%s]',
                                  parseStr, chunk1, chunk2)
              sourceTime = self._evalUnits(parseStr, sourceTime)
  
          return s, sourceTime, bool(parseStr)
docs: test if giving C{s} matched CRE_UNITS, used by L{parse()}
  
          @type  s:          string
          @param s:          date/time text to evaluate
          @type  sourceTime: struct_time
          @param sourceTime: C{struct_time} value to use as the base
  
          @rtype:  tuple
          @return: tuple of remained date/time text, datetime object and
                   an boolean value to describ if matched or not