К сожалению, регулярное выражение не имеет отрицания шаблона, однако популярным хаком является использование повторного шаблона любого совпадения, предвкушения, а затем любого совпадения.
Например, в вашем случае регулярное выражение
(?s)\{(?:.(?!ToolTipML).)+?\}
Мы гарантируем, что каждому символу ввода не предшествует запрещенный шаблон.
Недостатком является то, что большинство реализаций регулярных выражений не поддерживают шаблоны предпросмотра / просмотра назад переменной длины, но в вашем случае это работает безупречно .
Это популярный вопрос, и на него уже был дан ответ с более подробной информацией и пояснениями