Я хотел бы использовать выражение регулярного выражения в Python, которое соответствует чему-то вроде r '{. *?}' Или в простых фигурных скобках sh английского языка вместе со всем, что внутри них. (Меня интересуют только самые внешние фигурные скобки, и я бы хотел проигнорировать внутренние фигурные скобки)
Проблема с этим выражением заключается в том, что с вложенными фигурными скобками вы не получаете всего, потому что вы останавливаетесь на первой закрывающей скобке, даже если он не совпадает.
Примечание r '{. *}' не является решением, потому что в анализируемом тексте есть несколько групп совпадающих внешних фигурных скобок.
Например, если текст был:
struct my_struct{
double d;
struct {int i;, char c;} s;
};
, я бы хотел, чтобы выражение соответствовало:
{
double d;
struct{int i; char c;} s;
}
Любые указатели на то, как учитывать вложенные фигурные скобки, будут оценены. Обратите внимание, что я ищу тот, в котором пробелы не имеют никакого значения. Решения, которые говорят, что не используют регулярное выражение, не используют Python или go по-другому, бесполезны, поскольку это часть более крупного выражения регулярного выражения.