code: def elide(self, line: str, regexp: str, quantity: int = 1, offset: int = 0) -> str:
          
          matcher = re.compile(regexp)
          positions = matcher.finditer(line)
          new_line = line
          for match in positions:
              (start, end) = match.span()  # pylint: disable=unused-variable
              if (start > 0) and new_line[start - 1: start + 1] in self.constants.DIPTHONGS:
                  vowel_to_coerce = new_line[end - 1]
                  new_line = new_line[:(start - 1) + offset] + (" " * (quantity + 2)) + \
                             self.constants.stress_accent_dict[vowel_to_coerce] + new_line[end:]
              else:
                  new_line = new_line[:start + offset] + \
                             (" " * quantity) + new_line[start + quantity + offset:]
          return new_line
docs: Erase a section of a line, matching on a regex, pushing in a quantity of blank spaces,
          and jumping forward with an offset if necessary.
          If the elided vowel was strong, the vowel merged with takes on the stress.
  
          :param line:
          :param regexp:
          :param quantity:
          :param offset:
          :return:
  
          >>> print(VerseScanner().elide("uvae avaritia", r"[e]\s*[a]"))
          uv   āvaritia
          >>> print(VerseScanner().elide("mare avaritia", r"[e]\s*[a]"))
          mar  avaritia