Nog, you accidently inserted a forward slash after the closing delimiter 😉
Alternatively, we could simply isolate the desired results into $matches[0] (thus negating the need to capture):
preg_match('#\[quote]\K(?:(?!\[/quote]).)+#si', $text, $matches); // s modifier used incase text within quote tags are spread across multiple lines
echo $matches[0];