Поскольку ваши блоки BBCode содержат атрибуты, простого + будет недостаточно для покрытия всего.+ означает повторить указанный диапазон символов, в данном случае e .
На моей голове я бы попробовал что-то вроде этого:
\[quote([^\[]*)\](.*?)\[\/quote\]
Пожалуйста, имейте в виду, что я не проверял это на C #, где синтаксис может отличаться в зависимости от интерпретатора.Также обратите внимание, что я добавил группы выбора, чтобы вы могли проверить результат каждого выражения.Как ответил @Howard, [ и ] являются зарезервированными символами и, следовательно, должны быть экранированы.