При использовании метода Regex.Escape для строки "{788448}", вы получаете результат "\{788448}", а не "\{788448\}", потому что метод Regex.Escape экранирует только минимальный набор специальных символов, необходимых для корректной интерпретации регулярным выражением.
Обратите внимание, что закрывающая фигурная скобка } не входит в этот список, потому что в синтаксисе регулярных выражений она не является специальным символом, требующим экранирования. Закрывающая скобка } используется в паре с открывающей { для обозначения квантификаторов, но сама по себе } не имеет специального значения.
Таким образом, Regex.Escape("{788448}") экранирует только открывающую фигурную скобку, превращая её в \{, а закрывающая скобка остаётся без изменений.
Причина: Метод Regex.Escape экранирует только те специальные символы, которые могут вызвать неоднозначность при парсинге регулярного выражения. Закрывающая фигурная скобка } не требует экранирования, поэтому она остаётся без изменений в результирующей строке.
Ответ: Потому что метод Regex.Escape экранирует только символы, которые могут привести к неоднозначности при разборе регулярного выражения—открывающая фигурная скобка «{» является таким символом и экранируется, а закрывающая «}» не требует экранирования, поэтому остаётся неизменной.