code: def parse_expression(expression: str) -> Tuple[str, str]:
      
      try:
          _expression = expression.strip()
          name, operation = _expression.split(':')
          name = name.strip()
          operation = operation.strip()
          if not name or not operation:
              raise ValueError
      except (ValueError, AttributeError):
          raise QueryParserException('Expression is not valid, it must be formatted as '
                                     'name:operation, '
                                     'Expression: {}'.format(expression))
      return name, operation
docs: Base parsing for expressions.
  
      Every expression must follow a basic format:
          `name:[modifier|operator]operation[*[operator]operation]`
  
      So this parser just split the expression into: field name, operation.