code: def replace(self, text, pattern=None):
          
          cursor = self.textCursor()
          cursor.beginEditBlock()
          if pattern is not None:
              seltxt = to_text_string(cursor.selectedText())
          cursor.removeSelectedText()
          if pattern is not None:
              text = re.sub(to_text_string(pattern),
                            to_text_string(text), to_text_string(seltxt))
          cursor.insertText(text)
          cursor.endEditBlock()
docs: Replace selected text by *text*
          If *pattern* is not None, replacing selected text using regular
          expression text substitution