$re = '/(?<!\.\.\.)(?<!Dr\.)(?<=[.?!]|\.\)|\.")\s+(?=[a-zA-Z"\(])/';
$str = 'Should find 13 spaces as matches. It really struck a chord with me (since at the time I was living there) yet was suffering from chronic symptoms. An interesting quote is "When your life falls apart, you either grow ... or grow a tumor". (It should catch parentheses.) Here is a sentence ending with inner "quotes". "Another with outer quotes." Dr. Rankin has such an amazing story. (And it also applies when your life isn\'t completely falling apart yet.) Although I disagree with a lot of his views (about "rage" and TMS), I\'m so thankful that he introduced me to these concepts that eliminated my pain. Fry me a Beaver. Fry me a Beaver! Fry me a Beaver? Fry me Beaver no. 4?! Fry me many Beavers... End';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php