code: def overwrite(char_list: List[str], regexp: str, quality: str, offset: int = 0) -> List[str]:
      
      long_matcher = re.compile(regexp)
      line = "".join(char_list)
      long_positions = long_matcher.finditer(line)
      for match in long_positions:
          (start, end) = match.span()  # pylint: disable=unused-variable
          char_list[start + offset] = quality
      return char_list
docs: Given a list of characters and spaces, a matching regular expression, and a quality or
      character, replace the matching character with a space, overwriting with an offset and
      a multiplier if provided.
  
      :param char_list:
      :param regexp:
      :param quality:
      :param offset:
      :return:
  
      >>> overwrite(list('multe igne'), r'e\s[aeiou]', ' ')
      ['m', 'u', 'l', 't', ' ', ' ', 'i', 'g', 'n', 'e']