Выражение регулярного выражения не захватывает последнюю закрывающую скобку и останавливается на первой закрывающей скобке.
Запуск выражения регулярного выражения:
@media.*(\{([^{}]|(?R))*\})
Не захватывает получение второй скобки.
@media screen and (min-width:750px){h1{font-size:2.5em}
test
} //doesn't capture
}
Не стесняйтесь попробовать это здесь: https://regex101.com/r/lF0fI1/457
Я пытаюсь сопоставить первую строку @media, продолжайте, пока она не достигнет первой скобки или '{', затем запустите рекурсивное выражение, чтобы захватить вложенные скобки.