Думаю пользователю такое поведение не понравиться
Это классика бухучета "Верните проводку взад!"
А как можно проверить так, чтобы всего этого достичь?
Просто сделать ф-цию которая возвращает QStringList - все выражения внутри <>. А потом сравнить 2 QStringList - до и после. Вот правда удобного сигнала для QTextEdit я не знаю (textEdited для QLineEdit). Может придется садиться на textChanged - но это не страшно.