code: def rex_search(self, regexp, flags=0, byte=False, default=NULL):
          
  
          regexp = normalize_regexp(regexp, flags)
          match = None
          if byte:
              if not isinstance(regexp.pattern, six.text_type) or not six.PY3:
                  # if six.PY3:
                      # body = self.body_as_bytes()
                  # else:
                      # body = self.body
                  match = regexp.search(self.body)
          else:
              if isinstance(regexp.pattern, six.text_type) or not six.PY3:
                  ubody = self.unicode_body()
                  match = regexp.search(ubody)
          if match:
              return match
          else:
              if default is NULL:
                  raise DataNotFound('Could not find regexp: %s' % regexp)
              else:
                  return default
docs: Search the regular expression in response body.
  
          :param byte: if False then search is performed in
          `response.unicode_body()` else the rex is searched in `response.body`.
  
          Note: if you use default non-byte mode than do not forget to build your
          regular expression with re.U flag.
  
          Return found match object or None