code: def regexp(input, **params):
      
      PARAM_FIELD_TO_PARSE = 'input.field'
      PARAM_PATTERN = 'pattern'
      PARAM_OUTPUT = 'output'
      OUT_DESC_FIELD = 'field'
      OUT_DESC_IDX = 'idx'
      OUT_DESC_TYPE = 'type'
  
      res = []
      regex = re.compile(params.get(PARAM_PATTERN))
      field2parse = params.get(PARAM_FIELD_TO_PARSE)
      out_desc = params.get(PARAM_OUTPUT)
      for row in input:
          matches = regex.findall(row[field2parse])[0]
          obj = {}
          for desc in out_desc:
              obj[desc[OUT_DESC_FIELD]] = Converter.convert(matches[desc[OUT_DESC_IDX]], desc[OUT_DESC_TYPE])
          res.append(obj)
      return res
docs: Parses input according to pattern
      :param input:
      :param params:
      :return: